web-server: Expose the sockaddr in the request meta.

This commit is contained in:
Christopher Baines 2026-03-22 15:19:33 +00:00
parent 677d941cb3
commit c36ddc2214

View file

@ -317,16 +317,19 @@ on the procedure being called at any particular time."
;; Close the client port
#f)
(define* (handle-request handler client
(define* (handle-request handler client sockaddr
read-request-exception-handler
write-response-exception-handler
buffer-size
#:key post-request-hook)
(define meta
`((sockaddr . ,sockaddr)))
(let ((request
(with-exception-handler
read-request-exception-handler
(lambda ()
(read-request client))
(read-request client meta))
#:unwind? #t))
(read-request-time
(get-internal-real-time)))
@ -449,7 +452,7 @@ on the procedure being called at any particular time."
#f)))
#:unwind? #t))))
(define* (client-loop client handler
(define* (client-loop client handler sockaddr
read-request-exception-handler
write-response-exception-handler
connection-idle-timeout
@ -494,7 +497,7 @@ on the procedure being called at any particular time."
#:unwind? #t)
(close-port client))
(else
(let ((keep-alive? (handle-request handler client
(let ((keep-alive? (handle-request handler client sockaddr
read-request-exception-handler
write-response-exception-handler
buffer-size
@ -579,7 +582,7 @@ before sending back to the client."
(match (accept socket (logior SOCK_NONBLOCK SOCK_CLOEXEC))
((client . sockaddr)
(spawn-fiber (lambda ()
(client-loop client handler
(client-loop client handler sockaddr
read-request-exception-handler
write-response-exception-handler
connection-idle-timeout