mig-extra-0.1.1.0: Extra utils for Mig core library
Safe HaskellSafe-Inferred
LanguageGHC2021

Mig.Extra.Server.IO

Description

IO-servers

Synopsis

Http verbs

type Get a = Send GET IO a Source #

type Post a = Send POST IO a Source #

type Put a = Send PUT IO a Source #

type Patch a = Send PATCH IO a Source #

type Head a = Send HEAD IO a Source #

type Trace a = Send TRACE IO a Source #

Response

data Resp media a #

Response with info on the media-type encoded as type.

Constructors

Resp 

Fields

Instances

Instances details
Functor (Resp media) 
Instance details

Defined in Mig.Core.Class.Response

Methods

fmap :: (a -> b) -> Resp media a -> Resp media b #

(<$) :: a -> Resp media b -> Resp media a #

Show a => Show (Resp media a) 
Instance details

Defined in Mig.Core.Class.Response

Methods

showsPrec :: Int -> Resp media a -> ShowS #

show :: Resp media a -> String #

showList :: [Resp media a] -> ShowS #

Eq a => Eq (Resp media a) 
Instance details

Defined in Mig.Core.Class.Response

Methods

(==) :: Resp media a -> Resp media a -> Bool #

(/=) :: Resp media a -> Resp media a -> Bool #

ToRespBody ty a => IsResp (Resp ty a) 
Instance details

Defined in Mig.Core.Class.Response

Associated Types

type RespBody (Resp ty a) #

type RespError (Resp ty a) #

type RespMedia (Resp ty a) #

Methods

ok :: RespBody (Resp ty a) -> Resp ty a #

bad :: Status -> RespError (Resp ty a) -> Resp ty a #

noContent :: Status -> Resp ty a #

addHeaders :: ResponseHeaders -> Resp ty a -> Resp ty a #

getHeaders :: Resp ty a -> ResponseHeaders #

setStatus :: Status -> Resp ty a -> Resp ty a #

getRespBody :: Resp ty a -> Maybe (RespBody (Resp ty a)) #

getRespError :: Resp ty a -> Maybe (RespError (Resp ty a)) #

getStatus :: Resp ty a -> Status #

setMedia :: MediaType -> Resp ty a -> Resp ty a #

getMedia :: MediaType #

toResponse :: Resp ty a -> Response #

type RespBody (Resp ty a) 
Instance details

Defined in Mig.Core.Class.Response

type RespBody (Resp ty a) = a
type RespError (Resp ty a) 
Instance details

Defined in Mig.Core.Class.Response

type RespError (Resp ty a) = a
type RespMedia (Resp ty a) 
Instance details

Defined in Mig.Core.Class.Response

type RespMedia (Resp ty a) = ty

data RespOr ty err a #

Response that can contain an error. The error is represented with left case of an Either-type.

Instances

Instances details
Functor (RespOr ty err) 
Instance details

Defined in Mig.Core.Class.Response

Methods

fmap :: (a -> b) -> RespOr ty err a -> RespOr ty err b #

(<$) :: a -> RespOr ty err b -> RespOr ty err a #

(Show err, Show a) => Show (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

Methods

showsPrec :: Int -> RespOr ty err a -> ShowS #

show :: RespOr ty err a -> String #

showList :: [RespOr ty err a] -> ShowS #

(Eq err, Eq a) => Eq (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

Methods

(==) :: RespOr ty err a -> RespOr ty err a -> Bool #

(/=) :: RespOr ty err a -> RespOr ty err a -> Bool #

(ToRespBody ty err, ToRespBody ty a) => IsResp (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

Associated Types

type RespBody (RespOr ty err a) #

type RespError (RespOr ty err a) #

type RespMedia (RespOr ty err a) #

Methods

ok :: RespBody (RespOr ty err a) -> RespOr ty err a #

bad :: Status -> RespError (RespOr ty err a) -> RespOr ty err a #

noContent :: Status -> RespOr ty err a #

addHeaders :: ResponseHeaders -> RespOr ty err a -> RespOr ty err a #

getHeaders :: RespOr ty err a -> ResponseHeaders #

setStatus :: Status -> RespOr ty err a -> RespOr ty err a #

getRespBody :: RespOr ty err a -> Maybe (RespBody (RespOr ty err a)) #

getRespError :: RespOr ty err a -> Maybe (RespError (RespOr ty err a)) #

getStatus :: RespOr ty err a -> Status #

setMedia :: MediaType -> RespOr ty err a -> RespOr ty err a #

getMedia :: MediaType #

toResponse :: RespOr ty err a -> Response #

type RespBody (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

type RespBody (RespOr ty err a) = a
type RespError (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

type RespError (RespOr ty err a) = err
type RespMedia (RespOr ty err a) 
Instance details

Defined in Mig.Core.Class.Response

type RespMedia (RespOr ty err a) = ty

re-exports

newtype Body (media :: k) a #

Generic case for request body. The type encodes a media type and value of the request body.

Constructors

Body a 

Instances

Instances details
(FromReqBody ty a, ToSchema a, ToPlugin b) => ToPlugin (Body ty a -> b) 
Instance details

Defined in Mig.Core.Class.Plugin

Methods

toPluginInfo :: RouteInfo -> RouteInfo #

toPluginFun :: (Body ty a -> b) -> ServerFun (MonadOf (Body ty a -> b)) -> ServerFun (MonadOf (Body ty a -> b)) #

(ToSchema a, FromReqBody media a, ToRoute b) => ToRoute (Body media a -> b) 
Instance details

Defined in Mig.Core.Class.Route

Methods

toRouteInfo :: RouteInfo -> RouteInfo #

toRouteFun :: (Body media a -> b) -> ServerFun (MonadOf (Body media a -> b)) #

FromClient b => FromClient (Body media a -> b) 
Instance details

Defined in Mig.Client

Associated Types

type ClientResult (Body media a -> b) #

Methods

fromClient :: (Body media a -> b) -> ClientResult (Body media a -> b) #

(ToRespBody media a, ToClient b) => ToClient (Body media a -> b) 
Instance details

Defined in Mig.Client

Methods

toClient :: forall (m :: Type -> Type). Server m -> Body media a -> b #

clientArity :: Int #

type ClientResult (Body media a -> b) 
Instance details

Defined in Mig.Client

type ClientResult (Body media a -> b) = a -> ClientResult b