Propagate dispatcher signal
svn: r12683
This commit is contained in:
parent
f11b46828c
commit
da2fd6489d
|
@ -66,6 +66,7 @@
|
|||
(define response
|
||||
(with-handlers ([exn:fail:filesystem:exists?
|
||||
(lambda (the-exn) (next-dispatcher))]
|
||||
[exn:dispatcher? raise]
|
||||
[(lambda (x) #t)
|
||||
(lambda (the-exn) (responders-servlet-loading uri the-exn))])
|
||||
(define the-servlet (url->servlet uri))
|
||||
|
@ -73,7 +74,8 @@
|
|||
[current-custodian (servlet-custodian the-servlet)]
|
||||
[current-directory (servlet-directory the-servlet)]
|
||||
[current-namespace (servlet-namespace the-servlet)])
|
||||
(with-handlers ([(lambda (x) #t)
|
||||
(with-handlers ([exn:dispatcher? raise]
|
||||
[(lambda (x) #t)
|
||||
(lambda (exn) (responders-servlet uri exn))])
|
||||
(call-with-continuation-barrier
|
||||
(lambda ()
|
||||
|
|
|
@ -368,7 +368,7 @@ a URL that refreshes the password file, servlet cache, etc.}
|
|||
dispatcher/c]{
|
||||
This dispatcher runs Scheme servlets, using @scheme[url->servlet] to resolve URLs to the underlying servlets.
|
||||
If servlets have errors loading, then @scheme[responders-servlet-loading] is used. Other errors are handled with
|
||||
@scheme[responders-servlet].
|
||||
@scheme[responders-servlet]. If a servlet raises calls @scheme[next-dispatcher], then the signal is propagated by this dispatcher.
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user