1
0
Fork
You've already forked sigil-http
0
HTTP client and server for Sigil.
  • Shell 99%
  • Scheme 1%
Find a file
David Wilson 71509cfa13
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Bump to 0.18.1: scheduler-cooperative drain + working http-server-stop
2026年07月11日 19:12:22 +03:00
docs Add keep-alive + chunked responses (T4) and Range/206 (T2) 2026年07月10日 13:05:02 +03:00
examples sigil-http: Add keyword args to make-http-server and http-serve 2026年01月12日 22:00:59 +02:00
src/sigil server: http-server-stop signals the serve loop through a shared stop box 2026年07月11日 14:22:10 +03:00
test server: http-server-stop signals the serve loop through a shared stop box 2026年07月11日 14:22:10 +03:00
.gitignore Extract sigil-http from sigil monorepo 2026年04月24日 16:08:32 +03:00
.woodpecker.yml Bump CI pin to sigil v0.14.3 2026年04月26日 20:07:27 +03:00
CHANGELOG.md Bump to 0.18.1: scheduler-cooperative drain + working http-server-stop 2026年07月11日 19:12:22 +03:00
compile.sh Update branding: lowercase 'sigil' with yellow color, new tagline 2025年12月05日 16:57:20 +02:00
dev-redirects.sgl Extract sigil-http from sigil monorepo 2026年04月24日 16:08:32 +03:00
manifest.scm Extract sigil-http from sigil monorepo 2026年04月24日 16:08:32 +03:00
package.sgl Bump to 0.18.1: scheduler-cooperative drain + working http-server-stop 2026年07月11日 19:12:22 +03:00
README.md Extract sigil-http from sigil monorepo 2026年04月24日 16:08:32 +03:00
sigil.lock Bump to 0.16.7: realign sigil pin to ^0.17; http-response/json dict-or-string; sse-broadcast default handler 2026年07月07日 12:53:14 +03:00
test-http-request.sgl Rename project from Mesche to Sigil 2025年12月05日 16:46:46 +02:00
test-list-issue.sgl Rename project from Mesche to Sigil 2025年12月05日 16:46:46 +02:00

sigil-http

HTTP/1.1 client and server library for Sigil.

Provides HTTP/1.1 support for building web applications and APIs. Primary use cases are serving documentation sites and game server APIs.

This package was extracted from the sigil monorepo — the in-tree history under packages/sigil-http/ is preserved here as master.

Usage

(import (sigil http))
;; Client — GET / POST / PUT / DELETE
(let ((response (http-get "https://example.com/")))
 (display (http-response-body response)))
(http-post "https://api.example.com/users"
 "{\"name\":\"Alice\"}"
 '(("Content-Type" . "application/json")))
;; Server
(http-serve
 port: 8080
 handler: (lambda (request)
 (http-response 200 '(("Content-Type" . "text/plain"))
 "Hello, world!")))

See docs/http.md for the full API reference, including streaming bodies, Server-Sent Events, and low-level request/response manipulation.

Dependencies

  • sigil-stdlib, sigil-socket, sigil-tls — pinned via from-git against the sigil monorepo (^0.13.1). Resolved automatically by sigil deps install.

Build

sigil deps install
sigil build
sigil test

Development against a local sigil checkout

dev-redirects.sgl redirects codeberg:sigil/sigil to ../sigil. Pass it to the build CLI when you need to test against unreleased monorepo changes:

sigil build --redirects dev-redirects.sgl

Otherwise, let sigil deps install pull the pinned monorepo tag.

License

BSD-3-Clause. See package.sgl for author list.