Webs is a toolkit for programming with HTTP in OCaml. It provides:
IO and HTTP version agnostic representations for HTTP requests and responses.
A client connector abstraction for making HTTP client requests with HTTP client implementations.
A service connector abstraction for running HTTP services defined as functions mapping requests to responses. Simple CGI and HTTP/1.1 gateway connectors are provided, but you can bring your own.
Optional HTTP service building blocks. File serving, authenticated cookies, sessions, etc.
Webs is not a framework, it is a set of building blocks.
Webs is distributed under the ISC license. The base library depends only on Bytesrw. Some building blocks and the built-in gateway connectors depend on OCaml's Unix and Thread modules. The command line support depends on Cmdliner.