-
-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Description
I had a rough time getting stateless servers to work. The culprit appears to be web-server/servlet/web. Include it and stateless does not work, exclude it and it works quite seamlessly on a non-trivial system. See
https://discord.com/channels/571040468092321801/1128483815787077692
for a small, illustrative example, reproduced below.
However, I don't see anything in the documentation for either stateless or web-server/servlet/web that indicate this. It should be documented in both places.
Sample program:
#lang web-server
(require web-server/servlet-env
web-server/servlet/web)
(define (start req)
(println "starting")
(let ([r (send/suspend
(lambda (k-url)
(response/xexpr
`(html
(body
(form ([action ,k-url])
(input ([type "text"] [id "uid"] [name "uid"]))))))))])
(println "there")
(let ([uid (extract-binding/single 'uid (request-bindings r))])
(if (member uid '("hello"))
(response/xexpr `(html (body (p "yes"))))
(response/xexpr `(html (body (p "no"))))))))
(serve/servlet start
#:listen-ip #f
#:stateless? #t)
Metadata
Metadata
Assignees
Labels
No labels