racket/collects/web-server/private/servlet.ss
2008-11-19 22:41:49 +00:00

32 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?]
[handler (request? . -> . response?)])]
[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?)])