Skip to content

Commit a90b671

Browse files
author
Sasa Bogicevic
committed
Fix all errors
1 parent 547adab commit a90b671

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

servant-server/src/Servant/Server.hs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,16 +122,15 @@ import Servant.Server.Internal
122122
-- > main :: IO ()
123123
-- > main = Network.Wai.Handler.Warp.run 8080 app
124124
--
125-
serve :: (HasServer api '[]) => Proxy api -> Server api -> Application
126-
serve p = serveWithContext p EmptyContext
127125

128-
type FullyEvaluateResponse = Bool
126+
serve :: (HasServer api '[Bool]) => Proxy api -> Server api -> Application
127+
serve p = serveWithContext p (False :. EmptyContext)
129128

130129
serveWithContext :: (HasServer api context)
131130
=> Proxy api -> Context context -> Server api -> Application
132131
serveWithContext p context server =
133132
toApplication
134-
False
133+
False -- determins if we should fully evaluate response
135134
(runRouter (route p context (emptyDelayed (Route server))))
136135

137136
-- | Hoist server implementation.

servant-server/src/Servant/Server/Internal/RoutingApplication.hs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,15 +86,19 @@ instance MonadThrow m => MonadThrow (RouteResultT m) where
8686
throwM = lift . throwM
8787

8888
toApplication :: Bool -> RoutingApplication -> Application
89-
toApplication fullyEvaluate ra request respond = ra request routingRespond
90-
where
91-
maybeEval :: (RouteResult Response -> IO ResponseReceived)
92-
-> RouteResult Response -> IO ResponseReceived
93-
maybeEval resp = if fullyEvaluate then force resp else resp
94-
routingRespond :: RouteResult Response -> IO ResponseReceived
95-
routingRespond (Fail err) = respond $ responseServantErr err
96-
routingRespond (FailFatal err) = respond $ responseServantErr err
97-
routingRespond (Route v) = respond v
89+
toApplication fullyEvaluate ra request respond =
90+
ra request (maybeEval routingRespond)
91+
where
92+
maybeEval :: (RouteResult Response -> IO ResponseReceived)
93+
-> RouteResult Response -> IO ResponseReceived
94+
maybeEval resp =
95+
if fullyEvaluate
96+
then force resp
97+
else resp
98+
routingRespond :: RouteResult Response -> IO ResponseReceived
99+
routingRespond (Fail err) = respond $ responseServantErr err
100+
routingRespond (FailFatal err) = respond $ responseServantErr err
101+
routingRespond (Route v) = respond v
98102

99103
-- | A 'Delayed' is a representation of a handler with scheduled
100104
-- delayed checks that can trigger errors.

0 commit comments

Comments
 (0)