A tiny clone of ruby's Rack protocol in OCaml. Which is slightly more general and inspired by Finagle. It's not imperative to have this to for such a tiny framework but it makes extensions a lot more straightforward

module App : sig ... end
module Context : sig ... end

A context holds heterogeneous value and is passed to the requests or responses.

module Request : sig ... end

Module to create HTTP requests.

module Response : sig ... end

Module to create HTTP responses.

module Body : sig ... end

Represents an HTTP request or response body.

module Service : sig ... end

A service is a function that returns its result asynchronously.

module Filter : sig ... end

A filter is a higher order function that transforms a service into another service.

module Handler : sig ... end

A handler is a rock specific service.

module Middleware : sig ... end

Middleware is a named, simple filter, that only works on rock requests/response.

module Server_connection : sig ... end

Collection of functions to run a server from a Rock app.