From e433ec1144f10c62de9584a6e3cc5d2aa4ab182e Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Wed, 13 Jun 2007 01:52:53 +0000 Subject: [PATCH] Simplifying svn: r6621 --- .../dispatchers/dispatch-servlets.ss | 27 +++++++------------ .../docs/reference/configuration.scrbl | 2 ++ .../docs/reference/dispatchers.scrbl | 11 ++++---- .../dispatchers/dispatch-servlets-test.ss | 2 +- collects/web-server/web-server-unit.ss | 3 ++- 5 files changed, 20 insertions(+), 25 deletions(-) diff --git a/collects/web-server/dispatchers/dispatch-servlets.ss b/collects/web-server/dispatchers/dispatch-servlets.ss index f07f5c5fa6..94674b033f 100644 --- a/collects/web-server/dispatchers/dispatch-servlets.ss +++ b/collects/web-server/dispatchers/dispatch-servlets.ss @@ -11,10 +11,9 @@ "../servlet/web-cells.ss" "../servlet/web.ss" "../configuration/responders.ss" + "../configuration/namespace.ss" "../managers/manager.ss" "../managers/timeouts.ss" - "../managers/lru.ss" - "../managers/none.ss" "../private/servlet.ss" "../private/cache-table.ss" "../private/util.ss") @@ -23,9 +22,11 @@ (provide make) (define interface-version 'v1) - (define/kw (make config:instances config:scripts config:make-servlet-namespace + (define/kw (make config:scripts #:key url->path + [make-servlet-namespace + (make-make-servlet-namespace)] [responders-servlet-loading servlet-loading-responder] [responders-servlet @@ -183,7 +184,7 @@ ;; load-servlet/path path -> servlet (define (load-servlet/path a-path) - (parameterize ([current-namespace (config:make-servlet-namespace + (parameterize ([current-namespace (make-servlet-namespace #:additional-specs '((lib "servlet.ss" "web-server") (lib "servlet.ss" "web-server" "private") @@ -210,17 +211,7 @@ (v1.module->v1.lambda timeout start)))] [(v2 v2-transitional) ; XXX: Depreciate v2-transitional (let ([start (dynamic-require module-name 'start)] - [manager (with-handlers - ([exn:fail:contract? - (lambda (exn) - (define timeout (dynamic-require module-name 'timeout)) - (define instance-expiration-handler - (dynamic-require module-name 'instance-expiration-handler)) - (create-timeout-manager - instance-expiration-handler - timeouts-servlet-connection - timeout))]) - (dynamic-require module-name 'manager))]) + [manager (dynamic-require module-name 'manager)]) (make-servlet (current-custodian) (current-namespace) manager @@ -230,8 +221,10 @@ [(response? s) (make-servlet (current-custodian) (current-namespace) - (create-none-manager - default-servlet-instance-expiration-handler) + (create-timeout-manager + default-servlet-instance-expiration-handler + timeouts-servlet-connection + timeouts-servlet-connection) (v0.response->v1.lambda s a-path))] [else (error 'load-servlet/path "Loading ~e produced ~n~e~n instead of a servlet." a-path s)]))) diff --git a/collects/web-server/docs/reference/configuration.scrbl b/collects/web-server/docs/reference/configuration.scrbl index f70179da31..11664bfcf1 100644 --- a/collects/web-server/docs/reference/configuration.scrbl +++ b/collects/web-server/docs/reference/configuration.scrbl @@ -151,6 +151,8 @@ This function writes a @scheme[configuration-table] to @scheme[path]. @scheme[make-servlet-namespace] procedure needed by the @scheme[make] functions of @file{dispatchers/dispatch-servlets.ss} and @file{dispatchers/dispatch-lang.ss}. +@; XXX Define make-servlet-namespace? + @; XXX Use actual keyword argument syntax @defproc[(make-make-servlet-namespace (#:to-be-copied-module-specs to-be-copied-module-specs (listof module-spec?))) diff --git a/collects/web-server/docs/reference/dispatchers.scrbl b/collects/web-server/docs/reference/dispatchers.scrbl index 3bc28d3d57..5e3cba6796 100644 --- a/collects/web-server/docs/reference/dispatchers.scrbl +++ b/collects/web-server/docs/reference/dispatchers.scrbl @@ -246,13 +246,13 @@ It defines a dispatcher construction procedure: that runs servlets written in Scheme. @; XXX Add default manager arg -@; XXX Remove config:instances @; XXX Remove config:scripts -@; XXX Define make-servlet-namespace? -@defproc[(make [config:instances any/c] - [config:scripts (box/c cache-table?)] - [config:make-servlet-namespace make-servlet-namespace?] +@defproc[(make [config:scripts (box/c cache-table?)] [#:url->path url->path url->path?] + [#:make-servlet-namespace + make-servlet-namespace + make-servlet-namespace? + (make-make-servlet-namespace)] [#:responders-servlet-loading responders-servlet-loading ((url url?) (exn any/c) . -> . response?) @@ -294,7 +294,6 @@ that runs servlets written in Scheme. that runs servlets written in the Web Language. @; XXX Don't include timeout logic in here, put it outside. -@; XXX Include configuration.scrbl exports @defproc[(make [#:url->path url->path url->path?] [#:make-servlet-namespace make-servlet-namespace make-servlet-namespace? diff --git a/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss b/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss index aecc95e232..511acda1d0 100644 --- a/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss +++ b/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss @@ -15,7 +15,7 @@ (define (mkd p) (define-values (! d) - (servlets:make #f (box (make-cache-table)) (make-make-servlet-namespace) + (servlets:make (box (make-cache-table)) #:url->path (lambda _ (values p url0s)) #:responders-servlet-loading (lambda (u exn) diff --git a/collects/web-server/web-server-unit.ss b/collects/web-server/web-server-unit.ss index 83159e7c61..184ac5a416 100644 --- a/collects/web-server/web-server-unit.ss +++ b/collects/web-server/web-server-unit.ss @@ -65,7 +65,8 @@ (collect-garbage) ((responders-collect-garbage (host-responders host-info))))) (let-values ([(clear-cache! servlet-dispatch) - (servlets:make config:instances config:scripts config:make-servlet-namespace + (servlets:make config:scripts + #:make-servlet-namespace config:make-servlet-namespace #:url->path (fsmap:make-url->valid-path (fsmap:make-url->path (paths-servlet (host-paths host-info))))