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

Mig.Extra.Server.Html

Description

Html servers

Synopsis

Http verbs

type Get m a = Send GET m (Resp a) Source #

type Post m a = Send POST m (Resp a) Source #

type Put m a = Send PUT m (Resp a) Source #

type Delete m a = Send DELETE m (Resp a) Source #

type Patch m a = Send PATCH m (Resp a) Source #

type Options m a = Send OPTIONS m (Resp a) Source #

type Head m a = Send HEAD m (Resp a) Source #

type Trace m a = Send TRACE m (Resp a) Source #

Response

newtype Resp a Source #

Constructors

Resp (Resp Html a) 

Instances

Instances details
Functor Resp Source # 
Instance details

Defined in Mig.Extra.Server.Html

Methods

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

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

Show a => Show (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

Methods

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

show :: Resp a -> String #

showList :: [Resp a] -> ShowS #

Eq a => Eq (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

Methods

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

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

ToMarkup a => IsResp (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

Associated Types

type RespBody (Resp a) #

type RespError (Resp a) #

type RespMedia (Resp a) #

type RespBody (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

type RespBody (Resp a) = RespBody (Resp Html a)
type RespError (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

type RespMedia (Resp a) Source # 
Instance details

Defined in Mig.Extra.Server.Html

type RespOr err a = Either (Resp err) (Resp a) Source #

utils

data Link Source #

HTML a-links, this type is useful for using with template engines that rely on ToJSON instance. Also it can be rendered as Html with ToMarkup instance.

Constructors

Link 

Fields

Instances

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