62 lines
2.6 KiB
Racket
62 lines
2.6 KiB
Racket
#lang scribble/doc
|
|
@(require "web-server.rkt")
|
|
|
|
@title[#:tag "setup"]{Setting Up Servlets}
|
|
@(require (for-label web-server/servlet/setup
|
|
web-server/http
|
|
web-server/private/servlet
|
|
web-server/managers/manager
|
|
web-server/configuration/namespace
|
|
racket/serialize
|
|
web-server/stuffers/stuffer))
|
|
|
|
@defmodule[web-server/servlet/setup]{
|
|
|
|
This module is used internally to build and load servlets. It may be useful to those who are trying to extend the server.
|
|
|
|
@defproc[(make-v1.servlet [directory path-string?]
|
|
[timeout integer?]
|
|
[start (request? . -> . can-be-response?)])
|
|
servlet?]{
|
|
Creates a version 1 servlet that uses @racket[directory] as its current directory, a timeout manager with a @racket[timeout] timeout, and @racket[start] as the request handler.
|
|
}
|
|
|
|
@defproc[(make-v2.servlet [directory path-string?]
|
|
[manager manager?]
|
|
[start (request? . -> . can-be-response?)])
|
|
servlet?]{
|
|
Creates a version 2 servlet that uses @racket[directory] as its current directory, a @racket[manager] as the continuation manager, and @racket[start] as the request handler.
|
|
}
|
|
|
|
@defproc[(make-stateless.servlet [directory path-string?]
|
|
[stuffer (stuffer/c serializable? bytes?)]
|
|
[manager manager?]
|
|
[start (request? . -> . can-be-response?)])
|
|
servlet?]{
|
|
Creates a stateless @racketmodname[web-server] servlet that uses @racket[directory] as its current directory, @racket[stuffer] as its stuffer, and @racket[manager] as the continuation manager, and @racket[start] as the request handler.
|
|
}
|
|
|
|
@defthing[default-module-specs (listof module-path?)]{
|
|
The modules that the Web Server needs to share with all servlets.
|
|
}
|
|
|
|
@defthing[path->servlet/c contract?]{
|
|
Equivalent to @racket[(path? . -> . servlet?)].
|
|
}
|
|
|
|
@defproc[(make-default-path->servlet
|
|
[#:make-servlet-namespace
|
|
make-servlet-namespace
|
|
make-servlet-namespace/c
|
|
(make-make-servlet-namespace)]
|
|
[#:timeouts-default-servlet
|
|
timeouts-default-servlet
|
|
integer?
|
|
30])
|
|
path->servlet/c]{
|
|
Constructs a procedure that loads a servlet from the path in a namespace created with @racket[make-servlet-namespace],
|
|
using a timeout manager with @racket[timeouts-default-servlet] as the default timeout (if no manager is given.)
|
|
}
|
|
|
|
}
|