on master help sign in
Added vault to wai
721b2a2Michael Snoyman
wai-app-static/test/WaiAppStaticTest.hs+3
@@ -24,6 +24,7 @@ import Network.Wai.Test
24import Network.Socket.Internal as Sock
24import Network.Socket.Internal as Sock
25import qualified Network.HTTP.Types as H
25import qualified Network.HTTP.Types as H
26import Control.Monad.IO.Class (liftIO)
26import Control.Monad.IO.Class (liftIO)
27+import Data.Monoid (mempty)
27
28
28defRequest :: Request
29defRequest :: Request
29defRequest = Request {
30defRequest = Request {
@@ -38,6 +39,8 @@ defRequest = Request {
38, serverPort = 80
39, serverPort = 80
39, isSecure = False
40, isSecure = False
40, remoteHost = Sock.SockAddrInet 1 2
41, remoteHost = Sock.SockAddrInet 1 2
42+, vault = mempty
43+, requestBody = error "requestBody"
41}
44}
42
45
43setRawPathInfo :: Request -> S8.ByteString -> Request
46setRawPathInfo :: Request -> S8.ByteString -> Request
wai-extra/Network/Wai/Handler/CGI.hs+2−1
@@ -19,7 +19,7 @@ import Control.Arrow ((***))
19import Data.Char (toLower)
19import Data.Char (toLower)
20import qualified System.IO
20import qualified System.IO
21import qualified Data.String as String
21import qualified Data.String as String
22−import Data.Monoid (mconcat)
22+import Data.Monoid (mconcat, mempty)
23import Blaze.ByteString.Builder (fromByteString, toLazyByteString)
23import Blaze.ByteString.Builder (fromByteString, toLazyByteString)
24import Blaze.ByteString.Builder.Char8 (fromChar, fromString)
24import Blaze.ByteString.Builder.Char8 (fromChar, fromString)
25import Data.Conduit.Blaze (builderToByteString)
25import Data.Conduit.Blaze (builderToByteString)
@@ -109,6 +109,7 @@ runGeneric vars inputH outputH xsendfile app = do
109 , remoteHost = addr
109 , remoteHost = addr
110 , httpVersion = H.http11 -- FIXME
110 , httpVersion = H.http11 -- FIXME
111 , requestBody = input
111 , requestBody = input
112+ , vault = mempty
112 }
113 }
113 -- FIXME worry about exception?
114 -- FIXME worry about exception?
114 res <- app env
115 res <- app env
wai-test/Network/Wai/Test.hs+2
@@ -34,6 +34,7 @@ import Data.CaseInsensitive (CI)
34import qualified Data.ByteString as S
34import qualified Data.ByteString as S
35import qualified Data.Conduit as C
35import qualified Data.Conduit as C
36import qualified Data.Conduit.List as CL
36import qualified Data.Conduit.List as CL
37+import Data.Monoid (mempty)
37
38
38type Session = ReaderT Application (StateT ClientState IO)
39type Session = ReaderT Application (StateT ClientState IO)
39
40
@@ -74,6 +75,7 @@ defaultRequest = Request
74 , pathInfo = []
75 , pathInfo = []
75 , queryString = []
76 , queryString = []
76 , requestBody = error "requestBody of defaultRequest"
77 , requestBody = error "requestBody of defaultRequest"
78+ , vault = mempty
77 }
79 }
78
80
79srequest :: SRequest -> Session SResponse
81srequest :: SRequest -> Session SResponse
wai/Network/Wai.hs+3
@@ -60,6 +60,7 @@ import qualified Network.HTTP.Types as H
60import Data.Text (Text)
60import Data.Text (Text)
61import Data.ByteString.Lazy.Char8 () -- makes it easier to use responseLBS
61import Data.ByteString.Lazy.Char8 () -- makes it easier to use responseLBS
62import Blaze.ByteString.Builder (fromByteString)
62import Blaze.ByteString.Builder (fromByteString)
63+import Data.Vault (Vault)
63
64
64-- | Information on the request sent by the client. This abstracts away the
65-- | Information on the request sent by the client. This abstracts away the
65-- details of the underlying implementation.
66-- details of the underlying implementation.
@@ -95,6 +96,8 @@ data Request = Request
95 -- | Parsed query string information
96 -- | Parsed query string information
96 , queryString :: H.Query
97 , queryString :: H.Query
97 , requestBody :: C.BufferedSource IO B.ByteString
98 , requestBody :: C.BufferedSource IO B.ByteString
99+ -- | A location for arbitrary data to be shared by applications and middleware.
100+ , vault :: Vault
98 }
101 }
99 deriving (Typeable)
102 deriving (Typeable)
100
103
wai/wai.cabal+1
@@ -25,5 +25,6 @@ Library
25 , http-types >= 0.6 && < 0.7
25 , http-types >= 0.6 && < 0.7
26 , text >= 0.7 && < 0.12
26 , text >= 0.7 && < 0.12
27 , transformers >= 0.2.2 && < 0.3
27 , transformers >= 0.2.2 && < 0.3
28+ , vault >= 0.1 && < 0.2
28 Exposed-modules: Network.Wai
29 Exposed-modules: Network.Wai
29 ghc-options: -Wall
30 ghc-options: -Wall
warp/Network/Wai/Handler/Warp.hs+2−1
@@ -96,7 +96,7 @@ import Blaze.ByteString.Builder.HTTP
96import Blaze.ByteString.Builder
96import Blaze.ByteString.Builder
97 (copyByteString, Builder, toLazyByteString, toByteStringIO)
97 (copyByteString, Builder, toLazyByteString, toByteStringIO)
98import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)
98import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)
99−import Data.Monoid (mappend)
99+import Data.Monoid (mappend, mempty)
100import Network.Sendfile
100import Network.Sendfile
101
101
102import qualified System.PosixCompat.Files as P
102import qualified System.PosixCompat.Files as P
@@ -285,6 +285,7 @@ parseRequest' port (firstLine:otherLines) remoteHost' src = do
285 , isSecure = False
285 , isSecure = False
286 , remoteHost = remoteHost'
286 , remoteHost = remoteHost'
287 , requestBody = rbody
287 , requestBody = rbody
288+ , vault = mempty
288 }
289 }
289
290
290
291