racket/collects/web-server/private/servlet.rkt
2010-12-07 14:14:55 -07:00

32 lines
1.1 KiB
Racket
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 racket/base
(require racket/contract)
(require web-server/servlet/servlet-structs
web-server/managers/manager
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? . -> . can-be-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?)])