racket/collects/web-server/private/servlet.ss
Jay McCarthy fe078ee54b stuffers
svn: r13474
2009-02-06 23:23:21 +00:00

31 lines
1.1 KiB
Scheme
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#lang scheme/base
(require scheme/contract)
(require "../managers/manager.ss"
web-server/http)
(define servlet-prompt (make-continuation-prompt-tag 'servlet))
(define-struct servlet (custodian namespace manager directory [handler #:mutable]))
(define-struct execution-context (request))
(define current-servlet (make-parameter #f))
(define current-servlet-instance-id (make-parameter #f))
(define current-execution-context (make-parameter #f))
(define (current-servlet-manager)
(servlet-manager (current-servlet)))
(provide/contract
[servlet-prompt continuation-prompt-tag?]
[struct servlet
([custodian custodian?]
[namespace namespace?]
[manager manager?]
[directory path-string?]
[handler (request? . -> . response/c)])]
[struct execution-context
([request request?])]
[current-servlet (parameter/c (or/c false/c servlet?))]
[current-servlet-instance-id (parameter/c (or/c false/c number?))]
[current-execution-context (parameter/c (or/c false/c execution-context?))]
[current-servlet-manager (-> manager?)])