racket/collects/web-server/private/configuration-structures.ss
Eli Barzilay 3459c3a58f merged units branch
svn: r5033
2006-12-05 20:31:14 +00:00

53 lines
2.2 KiB
Scheme

(module configuration-structures mzscheme
(require (only (lib "unit.ss") unit?)
(lib "contract.ss")
(lib "url.ss" "net"))
(require "configuration-table-structs.ss"
"../response-structs.ss")
; configuration is now a unit. See sig.ss
; XXX contract
(define configuration?
unit?)
; host = (make-host (listof str) sym string
; passwords responders timeouts paths)
(define-struct host (indices log-format log-path passwords responders timeouts paths))
; passwords = (listof (list* relm:str protected-dir-regexp:str
; (listof (list user:sym password:str))))
; responders = (make-responders (url tst -> response)
; (url tst -> response)
; (url (cons sym str) -> response)
; response
; response
; (url -> response)
; response
; response)
(define-struct responders
(servlet servlet-loading authentication servlets-refreshed passwords-refreshed file-not-found protocol collect-garbage))
(provide ; all-from
(struct timeouts (default-servlet password servlet-connection file-per-byte file-base))
(struct paths (host-base log htdocs mime-types servlet)))
(provide/contract
[configuration? (any/c . -> . boolean?)]
[struct host
([indices (listof string?)]
[log-format symbol?]
[log-path (or/c false/c path-string?)]
[passwords (or/c false/c path-string?)]
[responders responders?]
[timeouts timeouts?]
[paths paths?])]
[struct responders
([servlet (url? any/c . -> . response?)]
[servlet-loading (url? any/c . -> . response?)]
[authentication (url? (cons/c symbol? string?) . -> . response?)]
[servlets-refreshed (-> response?)]
[passwords-refreshed (-> response?)]
[file-not-found (url? . -> . response?)]
[protocol (url? . -> . response?)]
[collect-garbage (-> response?)])]))