package routes

  1. Overview
  2. Docs

Module RoutesSource

Typed routing for OCaml. Routes provides combinators for adding typed routing to OCaml applications. The core library will be independent of any particular web framework or runtime.

Sourcemodule Method : sig ... end
Sourcetype 'a t

'a t represents a path parameter of type 'a.

Sourcetype 'a router
Sourceval return : 'a -> 'a t

return v is a path param parser that always returns v.

Sourceval apply : ('a -> 'b) t -> 'a t -> 'b t

apply f t applies a function f that is wrapped inside a 'a t context to a path param parser. f <*> p is the same as f >>= fun f -> map ~f p

Sourceval s : string -> string t

s word returns a path parser that matches word exactly.

Sourceval int : int t

int parses a path parmeter and succeeds if its an integer.

Sourceval int32 : int32 t

int32 parses a path parameter and succeeds if its a valid 32 bit integer.

Sourceval int64 : int64 t

int64 parses a path parameter and succeeds if its a valid 64 bit integer.

Sourceval bool : bool t

bool parses a path parameter and succeeds if its either "true" or "false".

Sourceval str : string t

str parses a path param and returns it as a string.

Sourceval empty : unit t

empty matches an empty target. This can be used to match against "/".

Sourceval choice : 'a t list -> 'a t

choice accepts a list of route parsers and returns the first one that matches.

Sourceval with_method : (Method.t * 'a t) list -> 'a router

choose accepts a list of path param parsers and converts them to a router.

Sourceval match' : 'a t -> string -> 'a option

match' takes a route parser and runs it against the provided target url.

Sourceval match_with_method : 'a router -> target:string -> meth:Method.t -> 'a option

match_with_method is used to run the router. It accepts a target url string, HTTP method verb a request of any type (which is forwarded as the last parameter to the handler functions). If a route matches it runs the attached handler and returns the result.

Sourcemodule Infix : sig ... end
Sourcemodule Routes_private : sig ... end
OCaml

Innovation. Community. Security.