opium_kernel

Sinatra like web toolkit based on Lwt + Cohttp
Library opium_kernel
Module Opium_kernel . Rock . Filter
type ('req, 'rep, 'req', 'rep') t = ( 'req, 'rep ) Service.t -> ( 'req', 'rep' ) Service.t
val sexp_of_t : ( 'req -> Sexplib0.Sexp.t ) -> ( 'rep -> Sexplib0.Sexp.t ) -> ( 'req' -> Sexplib0.Sexp.t ) -> ( 'rep' -> Sexplib0.Sexp.t ) -> ( 'req, 'rep, 'req', 'rep' ) t -> Sexplib0.Sexp.t
val t_of_sexp : ( Sexplib0.Sexp.t -> 'req ) -> ( Sexplib0.Sexp.t -> 'rep ) -> ( Sexplib0.Sexp.t -> 'req' ) -> ( Sexplib0.Sexp.t -> 'rep' ) -> Sexplib0.Sexp.t -> ( 'req, 'rep, 'req', 'rep' ) t
type ('req, 'rep) simple = ( 'req, 'rep, 'req, 'rep ) t

A filter is simple when it preserves the type of a service

val sexp_of_simple : ( 'req -> Sexplib0.Sexp.t ) -> ( 'rep -> Sexplib0.Sexp.t ) -> ( 'req, 'rep ) simple -> Sexplib0.Sexp.t
val simple_of_sexp : ( Sexplib0.Sexp.t -> 'req ) -> ( Sexplib0.Sexp.t -> 'rep ) -> Sexplib0.Sexp.t -> ( 'req, 'rep ) simple
val id : ( 'req, 'rep ) simple
val (>>>) : ( 'q1, 'p1, 'q2, 'p2 ) t -> ( 'q2, 'p2, 'q3, 'p3 ) t -> ( 'q1, 'p1, 'q3, 'p3 ) t
val apply_all : ( 'req, 'rep ) simple list -> ( 'req, 'rep ) Service.t -> ( 'req, 'rep ) Service.t