handle all requests in a transaction.

This commit is contained in:
Adam C. Baker
2014-10-10 17:16:56 -07:00
parent 57f4d478fc
commit e4669dcb37
3 changed files with 26 additions and 17 deletions
+13 -12
View File
@@ -4,6 +4,7 @@
module Dbapi where
import Types (SqlRow, getRow)
import Middleware(reportPgErrors)
import Control.Monad (join)
import Control.Exception.Base (bracket_)
@@ -100,8 +101,17 @@ app anonymous conn req respond = do
appWithRole :: Connection -> Application
appWithRole conn req respond =
respond =<< case (path, verb) of
appWithRole conn = reportPgErrors (\req respond ->
let
path = pathInfo req
verb = requestMethod req
qq = queryString req
hdrs = requestHeaders req
ver = fromMaybe "1" $ requestedVersion hdrs
range = requestedRange hdrs
cRange = requestedContentRange hdrs
allOrigins = ("Access-Control-Allow-Origin", "*") :: Header
in respond =<< case (path, verb) of
([], _) ->
responseLBS status200 [jsonContentType] <$> printTables ver conn
@@ -159,16 +169,7 @@ appWithRole conn req respond =
(_, _) ->
return $ responseLBS status404 [] ""
where
path = pathInfo req
verb = requestMethod req
qq = queryString req
hdrs = requestHeaders req
ver = fromMaybe "1" $ requestedVersion hdrs
range = requestedRange hdrs
cRange = requestedContentRange hdrs
allOrigins = ("Access-Control-Allow-Origin", "*") :: Header
)
defaultCorsPolicy :: CorsResourcePolicy
defaultCorsPolicy = CorsResourcePolicy Nothing