Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Synopsis
- data a ::: b
- data Cookies (cs :: [Type])
- type CookieHeader cs = Header "Cookie" (CookieTuple cs)
- type family CookieTypes (cs :: [Type]) :: [Type]
- newtype CookieTuple cs = CookieTuple {
- unCookieTuple :: NP I (CookieTypes cs)
- type CookieMap = Map ByteString (NonEmpty ByteString)
- class CookieArgs (cs :: [Type]) where
- type AddArgs cs a :: Type
- uncurryArgs :: AddArgs cs a -> CookieTuple cs -> a
- mapArgs :: (a -> b) -> AddArgs cs a -> AddArgs cs b
- mkTuple :: CookieMap -> Either Text (CookieTuple cs)
- emptyTuple :: CookieTuple cs
- mkCookieMap :: [(ByteString, ByteString)] -> CookieMap
Documentation
Instances
(CookieArgs cs, KnownSymbol label, FromHttpApiData x) => CookieArgs ((label ::: x) ': cs) Source # | |
Defined in Wire.API.Routes.Cookies 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 # | |
Defined in Wire.API.Routes.Cookies | |
type AddArgs ((label ::: x) ': cs) a Source # | |
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
RoutesToPaths api => RoutesToPaths (Cookies cs :> api :: Type) Source # | |
Defined in Wire.API.Routes.Cookies | |
HasOpenApi api => HasOpenApi (Cookies cs :> api :: Type) Source # | |
(HasContextEntry (ctx .++ DefaultErrorFormatters) ErrorFormatters, CookieArgs cs, HasServer api ctx) => HasServer (Cookies cs :> api :: Type) ctx Source # | |
Defined in Wire.API.Routes.Cookies | |
type SpecialiseToVersion v (Cookies cs :> api) Source # | |
Defined in Wire.API.Routes.Cookies | |
type ServerT (Cookies cs :> api :: Type) m Source # | |
type CookieHeader cs = Header "Cookie" (CookieTuple cs) Source #
type family CookieTypes (cs :: [Type]) :: [Type] Source #
Instances
type CookieTypes ('[] :: [Type]) Source # | |
Defined in Wire.API.Routes.Cookies | |
type CookieTypes ((label ::: x) ': cs) Source # | |
Defined in Wire.API.Routes.Cookies |
newtype CookieTuple cs Source #
CookieTuple | |
|
Instances
CookieArgs cs => FromHttpApiData (CookieTuple cs) Source # | |
Defined in Wire.API.Routes.Cookies parseUrlPiece :: Text -> Either Text (CookieTuple cs) Source # parseHeader :: ByteString -> Either Text (CookieTuple cs) Source # parseQueryParam :: Text -> Either Text (CookieTuple cs) Source # |
type CookieMap = Map ByteString (NonEmpty ByteString) Source #
class CookieArgs (cs :: [Type]) where Source #
uncurryArgs :: AddArgs cs a -> CookieTuple cs -> a Source #
mapArgs :: (a -> b) -> AddArgs cs a -> AddArgs cs b Source #
mkTuple :: CookieMap -> Either Text (CookieTuple cs) Source #
emptyTuple :: CookieTuple cs Source #
Instances
CookieArgs ('[] :: [Type]) Source # | |
Defined in Wire.API.Routes.Cookies 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 # | |
Defined in Wire.API.Routes.Cookies 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 # |
mkCookieMap :: [(ByteString, ByteString)] -> CookieMap Source #