chez-http-server 0.9.1

An HTTP/1.1 server for Chez Scheme, built on libuv

An HTTP/1.1 and 1.0 server for Chez Scheme on libuv: a handler is a procedure from request to response; the server reads, checks and answers requests, keeps connections alive, bounds every timeout and size, and shuts down cleanly. Requires threaded Chez and a C compiler.

$ akku update
$ akku install chez-http-server
$ .akku/env
Authors

Kiyomi Computation Systems LLC

License

BSD-3-Clause

Dependencies

^0.11.0
^0.8.0

Source code

https://github.com/Kiyomi-Computation-Systems/chez-http-server.git git
b7381a0a5d46270f03a9c25e90d77a59224fd7f1
Tag: v0.9.1

Package contents

  • (http-server awaiting) R6
    • → awaiting awaiting? awaiting-thunk &deadline-passed make-deadline-passed deadline-passed? &client-closed make-client-closed client-closed? &body-failed make-body-failed body-failed? body-failed-reason body-failed-status &resolve-error make-resolve-error resolve-error? resolve-error-reason
    • ← (rnrs) R6
  • (http-server body) R6
    • → make-body-reader body-reader? body-reader-on-piece body-reader-on-end body-reader-max-bytes body-reader-whole? read-body read-whole-body
    • ← (rnrs) R6
  • (http-server connection) R6
    • → conn-states conn-events conn-actions conn-deadline-kinds conn-parser-callbacks conn-span-callbacks make-conn-state conn-state? conn-phase conn-deadline conn-close-after conn-outstanding conn-outstanding-bytes conn-pending conn-request conn-limits conn-addresses conn-body-reader conn-body-pulled? conn-body-buffered conn-producer conn-taker producer-event conn-step conn-parser-step conn-headers-complete-step
    • ← (rnrs) R6
    • ← (http-server response)
    • ← (http-server request)
    • ← (http-server span)
    • ← (http-server limits)
    • ← (http-server decisions)
    • ← (http-server target)
    • ← (http-server body)
    • ← (http-server host)
    • ← (http-server transfer-coding)
    • ← (http-server serializer)
    • ← (http-server switch)
    • ← (http-server awaiting)
    • ← (http-server headers)
    • ← (httparse decisions)
    • ← (httparse methods)
  • (http-server decisions) R6
    • → reason-status originated-reasons parser-error-status result-hands-off-stream? response-framing response-connection http/1.1?
    • ← (rnrs) R6
  • (http-server headers) R6
    • → header-name=? headers-ref headers-ref-all ows? trim-ows range-ci=? field-lists? field-elements
    • ← (rnrs) R6
    • ← (http-server span)
  • (http-server heap) R6
    • → make-heap heap? heap-count heap-earliest heap-insert! heap-remove! heap-advance! heap-entry? heap-entry-key heap-entry-time
    • ← (rnrs) R6
  • (http-server host) R6
    • → host-fault
    • ← (rnrs) R6
    • ← (http-server span)
    • ← (http-server headers)
    • ← (uri host)
  • (http-server limits) R6
    • → make-limits limits? limits-with default-limits limits-from-environment limits-environment-variables limits-read-header-timeout-ms limits-idle-timeout-ms limits-body-inactivity-timeout-ms limits-linger-timeout-ms limits-write-timeout-ms limits-tick-ms limits-max-header-bytes limits-max-header-count limits-max-header-field-bytes limits-max-header-value-bytes limits-max-target-bytes limits-max-body-bytes limits-read-buffer-size limits-max-connections limits-backlog limits-require-host? limits-write-high-water limits-write-low-water limits-drain-timeout-ms limits-deadline-ms address-from-environment
    • ← (rnrs) R6
  • (http-server private adapter) R6 Internal
    • → make-conn-context conn-context? conn-context-state conn-context-step! adapter-bindings request-parser-inits make-conn-parser parser-result-event
    • ← (rnrs) R6
    • ← (byte-machine runtime)
    • ← (generated httparse-message)
    • ← (httparse modes)
    • ← (http-server connection)
  • (http-server private fake-shell) R6 Internal
    • → make-fake-shell fake-shell? fake-shell-calling? fake-shell-state fake-shell-now fake-shell-actions fake-shell-events fake-shell-violations fake-shell-advance! fake-shell-deliver! fake-shell-tick! fake-shell-fire! fake-shell-run! make-fake-connection fake-shell-conn-state fake-shell-reading? drops-body fake-shell-deliver-later! fake-shell-settle! fake-shell-feed-input! fake-shell-writes fake-shell-date-writes! written-status write-wire fake-shell-fire-waits! fake-shell-answer-lookup! fake-shell-drain! fake-shell-armed event->door-read door-read->event fake-shell-shut? fake-shell-hold! fake-shell-schedule! fake-shell-taker-failures fake-shell-done-failures fake-waits-puller! fake-shell-pull-failure?
    • ← (rnrs) R6
    • ← (byte-machine runtime)
    • ← (http-server connection)
    • ← (http-server request)
    • ← (http-server body)
    • ← (http-server awaiting)
    • ← (http-server private scheduler)
    • ← (http-server private waits)
    • ← (http-server limits)
    • ← (http-server wheel)
    • ← (http-server serializer)
    • ← (http-server transport)
    • ← (http-server private adapter)
  • (http-server private scheduler) R6 Internal
    • → make-scheduler scheduler? scheduler-ready? scheduler-spawn! scheduler-call! scheduler-drain! scheduler-turn! scheduler-turn-abandoned! scheduler-waits scheduler-waits-set! coroutine? current-coroutine coroutine-scheduler waiting-coroutine coroutine-waits coroutine-waits-set! coroutine-suspending? coroutine-park! coroutine-wake! coroutine-yield! scheduler-phase scheduler-feed-begin! scheduler-feed-end! &scheduler-invariant scheduler-invariant? scheduler-invariant-name
    • ← (rnrs) R6
  • (http-server private serve) R6 Chez Scheme Internal
    • → serve start-server run-until-stopped! log-line settings &http-server-error http-server-error? &http-server-config-error http-server-config-error?
    • ← (rnrs) R6
    • ← (chezscheme) Built-in
    • ← (libuv)
    • ← (http-server limits)
    • ← (http-server server)
    • ← (http-server private shell)
  • (http-server private shell) R6 Chez Scheme Internal
    • → make-shell shell? shell-listen! shell-adopt! shell-shutdown! shell-run! shell-turn! shell-run-turns! shell-watch-signals! shell-call-deferred! loop-turn! shell-connections shell-server shell-listener shell-timer shell-signals shell-deadlines shell-scheduler shell-waits-timed connection? connection-state connection-tcp connection-violations connection-deadline connection-close! connection-body-credit! wall-clock
    • ← (rnrs) R6
    • ← (chezscheme) Built-in
    • ← (libuv)
    • ← (byte-machine runtime)
    • ← (byte-machine private conditions)
    • ← (http-server connection)
    • ← (http-server request)
    • ← (http-server body)
    • ← (http-server awaiting)
    • ← (http-server limits)
    • ← (http-server wheel)
    • ← (http-server private scheduler)
    • ← (http-server private waits)
    • ← (http-server server)
    • ← (http-server serializer)
    • ← (http-server transport)
    • ← (http-server private adapter)
  • (http-server private waits) R6 Internal
    • → make-waits waits? waits-clock! waits-fire! waits-timed waits-resolver! make-notice notice? notice-attach! notice-close! notice-closed? notice-puller! notice-closing! notice-body-failure waits-puller! pull-piece! pull-end! pull-fail! await sleep-ms with-deadline resolve next-body-piece body-input-port
    • ← (rnrs) R6
    • ← (http-server heap)
    • ← (http-server awaiting)
    • ← (http-server private scheduler)
  • (http-server request) R6
    • → make-request request? request-method request-target request-http-major request-http-minor request-headers request-has-body? request-addresses request-on-done! request-done! make-addresses addresses? no-addresses addresses-remote-address addresses-remote-port addresses-local-address addresses-local-port
    • ← (rnrs) R6
  • (http-server response) R6
    • → make-response response? response-status response-reason response-headers response-body sized-body sized-body? sized-body-length sized-body-producer
    • ← (rnrs) R6
  • (http-server serializer) R6
    • → serialize-response serialize-checked-response serialize-piece serialize-end serialize-continue serialize-switch response-fault response-closes? switch-fault framing-modes date-line date-line-length
    • ← (rnrs) R6
    • ← (http-server response)
    • ← (http-server span)
    • ← (http-server switch)
    • ← (http-server headers)
  • (http-server server) R6
    • → server-phases server-events server-actions make-server-state server-state? server-phase server-refused server-limits server-deadline server-step
    • ← (rnrs) R6
    • ← (http-server limits)
  • (http-server span) R6
    • → make-span span? span-bytevector span-start span-end span-length span->bytevector
    • ← (rnrs) R6
  • (http-server switch) R6
    • → switch-protocols switch? switch-headers switch-take-over
    • ← (rnrs) R6
  • (http-server target) R6
    • → make-target-judge target-judge? target-fault target-redirect target-form first-question
    • ← (rnrs) R6
    • ← (http-server span)
    • ← (uri collect)
    • ← (uri components)
    • ← (uri charset)
    • ← (uri host)
    • ← (uri percent)
  • (http-server testing) R6
    • → make-test-host test-host? test-host-now test-host-advance! test-host-log test-host-lookups test-host-answer! test-host-waiting test-host-connect! test-client? test-client-send! test-client-close! test-client-reset! test-client-received test-client-responses test-client-connection-closed? test-client-waiting? test-response? test-response-status test-response-reason test-response-headers test-response-header test-response-body test-response-bytes test-response-complete?
    • ← (rnrs) R6
    • ← (byte-machine runtime)
    • ← (generated httparse-message)
    • ← (httparse modes)
    • ← (httparse methods)
    • ← (http-server connection)
    • ← (http-server headers)
    • ← (http-server limits)
    • ← (http-server awaiting)
    • ← (http-server private adapter)
    • ← (http-server private scheduler)
    • ← (http-server private waits)
    • ← (http-server private serve)
    • ← (http-server private fake-shell)
  • (http-server transfer-coding) R6
    • → unsupported-transfer-coding? faulty-framing?
    • ← (rnrs) R6
    • ← (http-server span)
    • ← (http-server headers)
    • ← (http-server decisions)
    • ← (httparse decisions)
  • (http-server transport) R6
    • → make-transport transport? transport-write! transport-read-start! transport-read-stop! transport-close! transport-abort! transport-deadline! transport-on-drain! transport-on-close!
    • ← (rnrs) R6
  • (http-server view) R6
    • → request-path request-query request-header request-header-values request-header-list request-host request-remote-address request-remote-port request-local-address request-local-port
    • ← (rnrs) R6
    • ← (rnrs mutable-strings) R6
    • ← (http-server request)
    • ← (http-server span)
    • ← (http-server headers)
    • ← (http-server target)
    • ← (uri collect)
    • ← (uri components)
  • (http-server wheel) R6
    • → make-wheel wheel? wheel-tick-ms wheel-count make-wheel-entry wheel-entry? wheel-entry-key wheel-entry-deadline wheel-arm! wheel-disarm! wheel-advance!
    • ← (rnrs) R6
  • (http-server) R6
    • → serve request? request-method request-path request-query request-header request-header-values request-header-list request-host request-http-major request-http-minor request-has-body? request-remote-address request-remote-port request-local-address request-local-port read-body read-whole-body request-on-done! make-response response? sized-body awaiting switch-protocols make-transport transport? transport-write! transport-read-start! transport-read-stop! transport-close! transport-abort! transport-deadline! transport-on-drain! transport-on-close! await sleep-ms with-deadline resolve &deadline-passed deadline-passed? &client-closed client-closed? &resolve-error resolve-error? resolve-error-reason next-body-piece body-input-port &body-failed body-failed? body-failed-reason body-failed-status &http-server-error http-server-error? &http-server-config-error http-server-config-error?
    • ← (http-server request)
    • ← (http-server view)
    • ← (http-server body)
    • ← (http-server response)
    • ← (http-server switch)
    • ← (http-server transport)
    • ← (http-server awaiting)
    • ← (http-server private waits)
    • ← (http-server private serve)

Version history

  • 2026-10-29 ~ 0.9.1