{-# OPTIONS_GHC -Wno-orphans #-}
module WebGear.Swagger.Trait.Cookie () where
import WebGear.Core.Request (Request)
import WebGear.Core.Response (Response)
import WebGear.Core.Trait (Get (..), Set (..), Trait, TraitAbsence)
import qualified WebGear.Core.Trait.Cookie as WG
import WebGear.Swagger.Handler (SwaggerHandler (..), nullNode)
instance
(TraitAbsence (WG.Cookie e name val) Request) =>
Get (SwaggerHandler m) (WG.Cookie e name val) Request
where
{-# INLINE getTrait #-}
getTrait :: forall (ts :: [*]).
Cookie e name val
-> SwaggerHandler
m
(With Request ts)
(Either
(Absence (Cookie e name val) Request)
(Attribute (Cookie e name val) Request))
getTrait Cookie e name val
WG.Cookie = forall {k} {k} {k} (m :: k) (a :: k) (b :: k).
Tree DocNode -> SwaggerHandler m a b
SwaggerHandler forall a. Tree a
nullNode
instance
(Trait (WG.SetCookie e name) Response) =>
Set (SwaggerHandler m) (WG.SetCookie e name) Response
where
{-# INLINE setTrait #-}
setTrait :: forall (ts :: [*]).
SetCookie e name
-> (With Response ts
-> Response
-> Attribute (SetCookie e name) Response
-> With Response (SetCookie e name : ts))
-> SwaggerHandler
m
(With Response ts, Attribute (SetCookie e name) Response)
(With Response (SetCookie e name : ts))
setTrait SetCookie e name
WG.SetCookie With Response ts
-> Response
-> Attribute (SetCookie e name) Response
-> With Response (SetCookie e name : ts)
_ = forall {k} {k} {k} (m :: k) (a :: k) (b :: k).
Tree DocNode -> SwaggerHandler m a b
SwaggerHandler forall a. Tree a
nullNode