wire-api-0.1.0
Safe HaskellSafe-Inferred
LanguageGHC2021

Wire.API.Routes.Cookies

Synopsis

Documentation

data a ::: b Source #

Instances

Instances details
(CookieArgs cs, KnownSymbol label, FromHttpApiData x) => CookieArgs ((label ::: x) ': cs) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

Associated Types

type AddArgs ((label ::: x) ': cs) a Source #

Methods

uncurryArgs :: AddArgs ((label ::: x) ': cs) a -> CookieTuple ((label ::: x) ': cs) -> a Source #

mapArgs :: (a -> b) -> AddArgs ((label ::: x) ': cs) a -> AddArgs ((label ::: x) ': cs) b Source #

mkTuple :: CookieMap -> Either Text (CookieTuple ((label ::: x) ': cs)) Source #

emptyTuple :: CookieTuple ((label ::: x) ': cs) Source #

type CookieTypes ((label ::: x) ': cs) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type CookieTypes ((label ::: x) ': cs) = [Either Text x] ': CookieTypes cs
type AddArgs ((label ::: x) ': cs) a Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type AddArgs ((label ::: x) ': cs) a = [Either Text x] -> AddArgs cs a

data Cookies (cs :: [Type]) Source #

A combinator to extract cookies from an HTTP request. The recommended way to use this combinator is to specify it exactly once in the description of an endpoint, passing a list of pairs of cookie name and type, separated by (:::). Cookies are always optional.

For example: @ Cookies '["foo" ::: Int64, "bar" ::: Text] @ results in a cookie with name "foo" containing a 64-bit integer, and a cookie with name "bar" containing an arbitrary text value.

Instances

Instances details
RoutesToPaths api => RoutesToPaths (Cookies cs :> api :: Type) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

HasOpenApi api => HasOpenApi (Cookies cs :> api :: Type) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

Methods

toOpenApi :: Proxy (Cookies cs :> api) -> OpenApi Source #

(HasContextEntry (ctx .++ DefaultErrorFormatters) ErrorFormatters, CookieArgs cs, HasServer api ctx) => HasServer (Cookies cs :> api :: Type) ctx Source # 
Instance details

Defined in Wire.API.Routes.Cookies

Associated Types

type ServerT (Cookies cs :> api) m Source #

Methods

route :: Proxy (Cookies cs :> api) -> Context ctx -> Delayed env (Server (Cookies cs :> api)) -> Router env Source #

hoistServerWithContext :: Proxy (Cookies cs :> api) -> Proxy ctx -> (forall x. m x -> n x) -> ServerT (Cookies cs :> api) m -> ServerT (Cookies cs :> api) n Source #

type SpecialiseToVersion v (Cookies cs :> api) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type ServerT (Cookies cs :> api :: Type) m Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type ServerT (Cookies cs :> api :: Type) m = AddArgs cs (ServerT api m)

type CookieHeader cs = Header "Cookie" (CookieTuple cs) Source #

type family CookieTypes (cs :: [Type]) :: [Type] Source #

Instances

Instances details
type CookieTypes ('[] :: [Type]) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type CookieTypes ('[] :: [Type]) = '[] :: [Type]
type CookieTypes ((label ::: x) ': cs) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

type CookieTypes ((label ::: x) ': cs) = [Either Text x] ': CookieTypes cs

newtype CookieTuple cs Source #

Constructors

CookieTuple 

Fields

class CookieArgs (cs :: [Type]) where Source #

Associated Types

type AddArgs cs a :: Type Source #

Instances

Instances details
CookieArgs ('[] :: [Type]) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

Associated Types

type AddArgs '[] a Source #

Methods

uncurryArgs :: AddArgs '[] a -> CookieTuple '[] -> a Source #

mapArgs :: (a -> b) -> AddArgs '[] a -> AddArgs '[] b Source #

mkTuple :: CookieMap -> Either Text (CookieTuple '[]) Source #

emptyTuple :: CookieTuple '[] Source #

(CookieArgs cs, KnownSymbol label, FromHttpApiData x) => CookieArgs ((label ::: x) ': cs) Source # 
Instance details

Defined in Wire.API.Routes.Cookies

Associated Types

type AddArgs ((label ::: x) ': cs) a Source #

Methods

uncurryArgs :: AddArgs ((label ::: x) ': cs) a -> CookieTuple ((label ::: x) ': cs) -> a Source #

mapArgs :: (a -> b) -> AddArgs ((label ::: x) ': cs) a -> AddArgs ((label ::: x) ': cs) b Source #

mkTuple :: CookieMap -> Either Text (CookieTuple ((label ::: x) ': cs)) Source #

emptyTuple :: CookieTuple ((label ::: x) ': cs) Source #