@@ -273,14 +273,14 @@ instance ( AllCTRender ctypes a
273 route Proxy action request respond
273 route Proxy action request respond
274 | pathIsEmpty request && requestMethod request == methodGet = do
274 | pathIsEmpty request && requestMethod request == methodGet = do
275 e <- runEitherT action
275 e <- runEitherT action
276− respond . succeedWith $ case e of
276+ respond $ case e of
277 Right output -> do
277 Right output -> do
278 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
278 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
279 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
279 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
280− Nothing -> responseLBS (mkStatus 406 "Not Acceptable") [] ""
280+ Nothing -> failWith UnsupportedMediaType
281+ Just (contentT, body) -> succeedWith $
281− Just (contentT, body) -> responseLBS ok200 [ ("Content-Type"
282+ responseLBS ok200 [ ("Content-Type" , cs contentT)] body
282− , cs contentT)] body
283− Left (status, message) ->
283+ Left (status, message) -> succeedWith $
284 responseLBS (mkStatus status (cs message)) [] (cs message)
284 responseLBS (mkStatus status (cs message)) [] (cs message)
285 | pathIsEmpty request && requestMethod request /= methodGet =
285 | pathIsEmpty request && requestMethod request /= methodGet =
286 respond $ failWith WrongMethod
286 respond $ failWith WrongMethod
@@ -351,14 +351,14 @@ instance ( AllCTRender ctypes a
351 route Proxy action request respond
351 route Proxy action request respond
352 | pathIsEmpty request && requestMethod request == methodPost = do
352 | pathIsEmpty request && requestMethod request == methodPost = do
353 e <- runEitherT action
353 e <- runEitherT action
354− respond . succeedWith $ case e of
354+ respond $ case e of
355 Right output -> do
355 Right output -> do
356 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
356 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
357 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
357 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
358− Nothing -> responseLBS (mkStatus 406 "") [] ""
358+ Nothing -> failWith UnsupportedMediaType
359+ Just (contentT, body) -> succeedWith $
359− Just (contentT, body) -> responseLBS status201 [ ("Content-Type"
360+ responseLBS status201 [ ("Content-Type" , cs contentT)] body
360− , cs contentT)] body
361− Left (status, message) ->
361+ Left (status, message) -> succeedWith $
362 responseLBS (mkStatus status (cs message)) [] (cs message)
362 responseLBS (mkStatus status (cs message)) [] (cs message)
363 | pathIsEmpty request && requestMethod request /= methodPost =
363 | pathIsEmpty request && requestMethod request /= methodPost =
364 respond $ failWith WrongMethod
364 respond $ failWith WrongMethod
@@ -397,14 +397,14 @@ instance ( AllCTRender ctypes a
397 route Proxy action request respond
397 route Proxy action request respond
398 | pathIsEmpty request && requestMethod request == methodPut = do
398 | pathIsEmpty request && requestMethod request == methodPut = do
399 e <- runEitherT action
399 e <- runEitherT action
400− respond . succeedWith $ case e of
400+ respond $ case e of
401 Right output -> do
401 Right output -> do
402 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
402 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
403 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
403 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
404− Nothing -> responseLBS (mkStatus 406 "") [] ""
404+ Nothing -> failWith UnsupportedMediaType
405+ Just (contentT, body) -> succeedWith $
405− Just (contentT, body) -> responseLBS status200 [ ("Content-Type"
406+ responseLBS status200 [ ("Content-Type" , cs contentT)] body
406− , cs contentT)] body
407− Left (status, message) ->
407+ Left (status, message) -> succeedWith $
408 responseLBS (mkStatus status (cs message)) [] (cs message)
408 responseLBS (mkStatus status (cs message)) [] (cs message)
409 | pathIsEmpty request && requestMethod request /= methodPut =
409 | pathIsEmpty request && requestMethod request /= methodPut =
410 respond $ failWith WrongMethod
410 respond $ failWith WrongMethod
@@ -441,14 +441,14 @@ instance ( AllCTRender ctypes a
441 route Proxy action request respond
441 route Proxy action request respond
442 | pathIsEmpty request && requestMethod request == methodPatch = do
442 | pathIsEmpty request && requestMethod request == methodPatch = do
443 e <- runEitherT action
443 e <- runEitherT action
444− respond . succeedWith $ case e of
444+ respond $ case e of
445 Right output -> do
445 Right output -> do
446 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
446 let accH = fromMaybe "*/*" $ lookup hAccept $ requestHeaders request
447 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
447 case handleAcceptH (Proxy :: Proxy ctypes) (AcceptHeader accH) output of
448− Nothing -> responseLBS (mkStatus 406 "") [] ""
448+ Nothing -> failWith UnsupportedMediaType
449+ Just (contentT, body) -> succeedWith $
449− Just (contentT, body) -> responseLBS status200 [ ("Content-Type"
450+ responseLBS status200 [ ("Content-Type" , cs contentT)] body
450− , cs contentT)] body
451− Left (status, message) ->
451+ Left (status, message) -> succeedWith $
452 responseLBS (mkStatus status (cs message)) [] (cs message)
452 responseLBS (mkStatus status (cs message)) [] (cs message)
453 | pathIsEmpty request && requestMethod request /= methodPatch =
453 | pathIsEmpty request && requestMethod request /= methodPatch =
454 respond $ failWith WrongMethod
454 respond $ failWith WrongMethod