25 lines
535 B
Racket
25 lines
535 B
Racket
#lang racket/base
|
|
(require racket/contract
|
|
web-server/http)
|
|
|
|
(define (real-any->response x)
|
|
#f)
|
|
|
|
(define (any->response x)
|
|
(if (response? x)
|
|
x
|
|
(real-any->response x)))
|
|
|
|
(define (set-any->response! f)
|
|
(set! real-any->response f))
|
|
|
|
(define (can-be-response? x)
|
|
(or (response? x)
|
|
(and (any->response x)
|
|
#t)))
|
|
|
|
(provide/contract
|
|
[any->response (-> any/c (or/c false/c response?))]
|
|
[set-any->response! (-> (-> any/c (or/c false/c response?)) void)]
|
|
[can-be-response? (-> any/c boolean?)])
|