1#lang racket/base 2 3(require racket/unit 4 racket/contract 5 web-server/private/util 6 web-server/safety-limits 7 web-server/configuration/namespace 8 web-server/configuration/configuration-table-structs) 9 10(provide web-config*^ 11 web-config^) 12 13(define-signature web-config*^ 14 ((contracted 15 [safety-limits safety-limits?] 16 [virtual-hosts (string? . -> . host?)] 17 [port port-number?] 18 [listen-ip (or/c #f string?)] 19 [make-servlet-namespace make-servlet-namespace/c]))) 20 21 22(define-signature web-config^ 23 extends web-config*^ 24 ((contracted 25 [max-waiting timeout/c] 26 [initial-connection-timeout timeout/c]) 27 (define-values-for-export [safety-limits] 28 (make-safety-limits 29 #:max-waiting max-waiting 30 #:request-read-timeout initial-connection-timeout)))) 31