个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证HTTP/1.x server for Chez Scheme backed by libuv
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗An HTTP 1.1 Server for Chez Scheme built on libuv.
#+begin_quote ✨ AI Disclosure: LLMs are used extensively in the planning and development of this project. #+end_quote
** Features
The API may change in any release before 1.0. [[file:CHANGELOG.md][CHANGELOG.md]] lists what each release changes.
** Quick start
#+begin_src scheme (import (rnrs) (http-server))
(serve (lambda (request) (make-response 200 #f '() (string->utf8 "Hello\n")))) #+end_src
Save it as hello.sps, start it with make run PROGRAM=hello.sps, and
curl http://127.0.0.1:8080/. The [[file:docs/quickstart.md][quickstart]] goes on from there.
To use it from a project of your own, put its libraries on Chez's library path, or install it with [[https://akkuscm.org][Akku]]; [[file:docs/installing.md][installing]] says how.
** Build and test
Prerequisites:
Dependencies are pinned git submodules under vendor/ (chez-libuv,
chez-httparse, uriparse, chez-srfi and vtest2 for the tests; byte-machine
arrives under chez-httparse):
#+begin_src sh git clone --recursive https://github.com/Kiyomi-Computation-Systems/chez-http-server.git cd chez-http-server make build # builds the chez-libuv shim and assembles the one library path make test # runs every tests/test-*.sps #+end_src
make test builds vtest2 and downloads oha itself the first time.
make help lists every target; make check-pins verifies each submodule sits
at its pinned release commit, and Akku.manifest's dependencies at the same
versions.
With Docker, scripts/docker-env make test runs it in a container that
holds every prerequisite, and on a machine with Guix scripts/guix-env make
test does the same in a pinned one; see "In Docker" and "On a Guix host" in
[[file:docs/building.md][docs/building.md]].
** Examples
[[file:examples/][examples/]] holds small servers to copy from, each one file: a hello world,
reading bodies, streaming and server-sent events, a long poll, and a file
server that does what python3 -m http.server does:
#+begin_src sh make run PROGRAM=examples/file-server.sps ARGS="8000 --directory ." #+end_src
** Documentation
The guides are in [[file:docs/README.md][docs/]]: [[file:docs/installing.md][installing]], a [[file:docs/quickstart.md][quickstart]], [[file:docs/handlers.md][handlers]], [[file:docs/bodies.md][bodies and streaming]], [[file:docs/waiting.md][waiting]], [[file:docs/upgrades.md][upgrades]], [[file:docs/testing.md][testing handlers]], [[file:docs/requests.md][requests]], [[file:docs/responses.md][responses]], [[file:docs/connections.md][connections]], [[file:docs/configuration.md][configuration]], [[file:docs/deploying.md][deploying]], [[file:docs/how-it-works.md][how it works]], [[file:docs/performance.md][performance]], and the [[file:docs/reference.md][API reference]]. Each release publishes them as a website: [[https://kiyomi-computation-systems.github.io/chez-http-server/]].
** Contributing
[[file:CONTRIBUTING.md][CONTRIBUTING.md]] says how to set up, which checks a pull request must pass, and the house rules.
** Security
Report a vulnerability privately; [[file:SECURITY.md][SECURITY.md]] says how.
** License
© [[https://kiyomicomputation.systems/][Kiyomi Computation Systems LLC]]. Licensed under BSD 3-Clause — see [[file:LICENSE][LICENSE]]. Third-party components and their licenses are listed in [[file:NOTICE][NOTICE]].