let { Body, ResponseBody, StatusCode, Method, Request, Response, Headers, HttpState, Uri } =
import! std.http.prim_types
let { Eff } = import! std.effect
let { Error } = import! std.effect.error
let { Alt } = import! std.effect.alt
let { State } = import! std.effect.state
let { Lift } = import! std.effect.lift
/// Type used by handlers to indicate why they could not process a request
type Failure =
| DontProcess
| Error String
type HttpEffect r a = [| alt : Alt, state : State HttpState, lift : Lift IO | r |] a
{
Method,
Failure,
Request,
StatusCode,
Headers,
Response,
ResponseBody,
HttpEffect,
HttpState,
Uri,
Body,
}