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