git.iko.soy/typeable/request-track
on master help sign in
Handler wrapper must have two parameters.
commitdb625c2796bcf34741a3ab36b3aac6265b8ed844 authorNick <nick@typeable.io> dateThu 20 Jul 2023, 18:26 (3 years ago) parent03d2841
1 file changed+5−6
request-track-servant/src/Web/Tracking/Servant/Types.hs+5−6
request-track-servant/src/Web/Tracking/Servant/Types.hs+5−6
@@ -3,7 +3,6 @@
33{-# LANGUAGE UndecidableInstances #-}
44module Web.Tracking.Servant.Types where
55
6−import Web.Tracking
76import Web.Tracking
87
98import Control.Monad ((<=<))
@@ -24,15 +23,15 @@ type family TrackingData :: Type -> Type
2423-- | Same as above, except no argument is passed to a handler.
2524data RequestTracking_
2625
27−newtype ReqtrackingHandler o = ReqtrackingHandler { unReqtrackingHandler :: Maybe ReqtrackInfo -> Handler o
28− } deriving (Functor)
26+newtype ReqtrackingHandler r o = ReqtrackingHandler { unReqtrackingHandler :: r -> Handler o
27+ } deriving (Functor)
2928
30−mkReqtrackingHandler :: (Maybe ReqtrackInfo -> Handler o) -> ReqtrackingHandler o
29+mkReqtrackingHandler :: (Maybe ReqtrackInfo -> Handler o) -> ReqtrackingHandler (Maybe ReqtrackInfo) o
3130mkReqtrackingHandler = ReqtrackingHandler
3231
3332instance forall (api :: Type) context.
3433 ( HasServer api context
35− , HasContextEntry context (ReqtrackingHandler (TrackingData RequestTracking))
34+ , HasContextEntry context (ReqtrackingHandler (Maybe ReqtrackInfo) (TrackingData RequestTracking))
3635 ) => HasServer (RequestTracking :> api) context where
3736 type ServerT (RequestTracking :> api) m = TrackingData RequestTracking -> ServerT api m
3837
@@ -47,7 +46,7 @@ instance forall (api :: Type) context.
4746
4847instance forall (api :: Type) context.
4948 ( HasServer api context
50− , HasContextEntry context (ReqtrackingHandler ())
49+ , HasContextEntry context (ReqtrackingHandler (Maybe ReqtrackInfo) ())
5150 ) => HasServer (RequestTracking_ :> api) context where
5251 type ServerT (RequestTracking_ :> api) m = ServerT api m
5352