]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/Interaction.hs
Resource paths should not be assumed to be encoded in UTF-8. HTTP/1.1 says nothing...
[Lucu.git] / Network / HTTP / Lucu / Interaction.hs
index 4d153d14e579df2a5d8bc9e410b0e53054f8db0e..86b6dbd4fb85293071f2328eec6c5eab8ac090fd 100644 (file)
@@ -7,7 +7,7 @@ module Network.HTTP.Lucu.Interaction
     ( Interaction(..)
     , InteractionState(..)
     , InteractionQueue
-    , GetBodyRequest(..)
+    , ReceiveBodyRequest(..)
     , newInteractionQueue
     , newInteraction
 
@@ -20,7 +20,6 @@ import qualified Data.ByteString as Strict
 import Data.Monoid.Unicode
 import Data.Sequence (Seq)
 import qualified Data.Sequence as S
-import Data.Text (Text)
 import Network.Socket
 import Network.HTTP.Lucu.Config
 import Network.HTTP.Lucu.HttpVersion
@@ -34,14 +33,14 @@ data Interaction = Interaction {
     , itrLocalPort         ∷ !PortNumber
     , itrRemoteAddr        ∷ !SockAddr
     , itrRemoteCert        ∷ !(Maybe X509)
-    , itrResourcePath      ∷ !(Maybe [Text])
+    , itrResourcePath      ∷ !(Maybe [Strict.ByteString])
     , itrRequest           ∷ !(Maybe Request)
 
     , itrExpectedContinue  ∷ !(Maybe Bool)
     , itrReqBodyLength     ∷ !(Maybe RequestBodyLength)
 
-    , itrGetBodyRequest    ∷ !(TMVar GetBodyRequest)
-    , itrGotBody           ∷ !(TMVar Strict.ByteString)
+    , itrReceiveBodyReq    ∷ !(TMVar ReceiveBodyRequest)
+    , itrReceivedBody      ∷ !(TMVar Strict.ByteString)
 
     , itrResponse          ∷ !(TVar Response)
     , itrWillChunkBody     ∷ !(TVar Bool)
@@ -57,16 +56,16 @@ data Interaction = Interaction {
 -- initial state.
 data InteractionState
     = ExaminingRequest
-    | GettingBody
+    | ReceivingBody
     | DecidingHeader
-    | DecidingBody
+    | SendingBody
     | Done
     deriving (Show, Eq, Ord, Enum)
 
 type InteractionQueue = TVar (Seq Interaction)
 
-data GetBodyRequest
-    = GetBody !Int -- ^ Maximum number of bytes.
+data ReceiveBodyRequest
+    = ReceiveBody !Int -- ^ Maximum number of octets to receive.
     | WasteAll
     deriving (Show, Eq)
 
@@ -87,8 +86,8 @@ newInteraction conf@(Config {..}) port addr cert request
                    , resHeaders = (∅)
                    }
 
-         getBodyRequest   ← newEmptyTMVarIO
-         gotBody          ← newEmptyTMVarIO
+         receiveBodyReq   ← newEmptyTMVarIO
+         receivedBody     ← newEmptyTMVarIO
 
          response         ← newTVarIO res
          willChunkBody    ← newTVarIO False
@@ -110,8 +109,8 @@ newInteraction conf@(Config {..}) port addr cert request
                     , itrExpectedContinue = arExpectedContinue ar
                     , itrReqBodyLength    = arReqBodyLength    ar
 
-                    , itrGetBodyRequest   = getBodyRequest
-                    , itrGotBody          = gotBody
+                    , itrReceiveBodyReq   = receiveBodyReq
+                    , itrReceivedBody     = receivedBody
 
                     , itrResponse         = response
                     , itrWillChunkBody    = willChunkBody