diff --git a/racket/syndicate/drivers/web.rkt b/racket/syndicate/drivers/web.rkt index d5c7c8a..0f8376b 100644 --- a/racket/syndicate/drivers/web.rkt +++ b/racket/syndicate/drivers/web.rkt @@ -30,6 +30,7 @@ web-respond/bytes! web-respond/string! web-respond/xexpr! + web-redirect/temporary! append-url-path @@ -160,6 +161,18 @@ (bytes-append preamble (string->bytes/utf-8 (xexpr->string body-xexpr))))) +(define (web-redirect/temporary! id location + #:content-type [content-type "text/html"] + #:body [body `(html (body (a ((href ,location)) + "Moved to " ,location)))]) + (web-respond/xexpr! id + #:header (make-web-response-header + #:code 303 + #:message #"Moved" + #:headers (list (cons 'location location) + (cons 'content-type content-type))) + body)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define web-server-max-waiting (make-parameter 511)) ;; sockets