parent
25acc5799b
commit
915d9e2fa6
@ -20,8 +20,7 @@ import Data.Text.Encoding.Error (lenientDecode)
|
|||||||
import Data.ByteString (ByteString)
|
import Data.ByteString (ByteString)
|
||||||
import qualified Data.ByteString as S
|
import qualified Data.ByteString as S
|
||||||
|
|
||||||
import Control.Exception (SomeException, try, IOException)
|
import UnliftIO (SomeException, try, IOException, handle)
|
||||||
import Control.Exception.Lifted (handle)
|
|
||||||
import Control.Monad (when, filterM, forM, forM_, (>=>))
|
import Control.Monad (when, filterM, forM, forM_, (>=>))
|
||||||
import Control.Monad.Trans.State (StateT, get, put, execStateT)
|
import Control.Monad.Trans.State (StateT, get, put, execStateT)
|
||||||
import Control.Monad.Trans.Writer (WriterT, tell, execWriterT)
|
import Control.Monad.Trans.Writer (WriterT, tell, execWriterT)
|
||||||
|
|||||||
@ -193,6 +193,7 @@ import Control.Applicative ((<$>))
|
|||||||
import Data.Monoid (mempty, mappend)
|
import Data.Monoid (mempty, mappend)
|
||||||
#endif
|
#endif
|
||||||
import Control.Applicative ((<|>))
|
import Control.Applicative ((<|>))
|
||||||
|
import qualified Data.CaseInsensitive as CI
|
||||||
import Control.Exception (evaluate, SomeException, throwIO)
|
import Control.Exception (evaluate, SomeException, throwIO)
|
||||||
import Control.Exception (handle)
|
import Control.Exception (handle)
|
||||||
|
|
||||||
@ -779,7 +780,7 @@ setLanguage = setSession langKey
|
|||||||
--
|
--
|
||||||
-- @since 1.2.0
|
-- @since 1.2.0
|
||||||
addHeader :: MonadHandler m => Text -> Text -> m ()
|
addHeader :: MonadHandler m => Text -> Text -> m ()
|
||||||
addHeader a = addHeaderInternal . Header (encodeUtf8 a) . encodeUtf8
|
addHeader a = addHeaderInternal . Header (CI.mk $ encodeUtf8 a) . encodeUtf8
|
||||||
|
|
||||||
-- | Deprecated synonym for addHeader.
|
-- | Deprecated synonym for addHeader.
|
||||||
setHeader :: MonadHandler m => Text -> Text -> m ()
|
setHeader :: MonadHandler m => Text -> Text -> m ()
|
||||||
@ -797,10 +798,10 @@ replaceOrAddHeader :: MonadHandler m => Text -> Text -> m ()
|
|||||||
replaceOrAddHeader a b =
|
replaceOrAddHeader a b =
|
||||||
modify $ \g -> g {ghsHeaders = replaceHeader (ghsHeaders g)}
|
modify $ \g -> g {ghsHeaders = replaceHeader (ghsHeaders g)}
|
||||||
where
|
where
|
||||||
repHeader = Header (encodeUtf8 a) (encodeUtf8 b)
|
repHeader = Header (CI.mk $ encodeUtf8 a) (encodeUtf8 b)
|
||||||
|
|
||||||
sameHeaderName :: Header -> Header -> Bool
|
sameHeaderName :: Header -> Header -> Bool
|
||||||
sameHeaderName (Header n1 _) (Header n2 _) = T.toLower (decodeUtf8 n1) == T.toLower (decodeUtf8 n2)
|
sameHeaderName (Header n1 _) (Header n2 _) = n1 == n2
|
||||||
sameHeaderName _ _ = False
|
sameHeaderName _ _ = False
|
||||||
|
|
||||||
replaceIndividualHeader :: [Header] -> [Header]
|
replaceIndividualHeader :: [Header] -> [Header]
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import qualified Data.ByteString as S
|
|||||||
import qualified Data.ByteString.Char8 as S8
|
import qualified Data.ByteString.Char8 as S8
|
||||||
import qualified Data.ByteString.Lazy as BL
|
import qualified Data.ByteString.Lazy as BL
|
||||||
import Data.CaseInsensitive (CI)
|
import Data.CaseInsensitive (CI)
|
||||||
import qualified Data.CaseInsensitive as CI
|
|
||||||
import Network.Wai
|
import Network.Wai
|
||||||
import Control.Monad (mplus)
|
import Control.Monad (mplus)
|
||||||
import Control.Monad.Trans.Resource (runInternalState, InternalState)
|
import Control.Monad.Trans.Resource (runInternalState, InternalState)
|
||||||
@ -92,7 +91,7 @@ headerToPair (DeleteCookie key path) =
|
|||||||
, "; expires=Thu, 01-Jan-1970 00:00:00 GMT"
|
, "; expires=Thu, 01-Jan-1970 00:00:00 GMT"
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
headerToPair (Header key value) = (CI.mk key, value)
|
headerToPair (Header key value) = (key, value)
|
||||||
|
|
||||||
evaluateContent :: Content -> IO (Either ErrorResponse Content)
|
evaluateContent :: Content -> IO (Either ErrorResponse Content)
|
||||||
evaluateContent (ContentBuilder b mlen) = handle f $ do
|
evaluateContent (ContentBuilder b mlen) = handle f $ do
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import Control.Monad.Logger (LogLevel, LogSource,
|
|||||||
import Control.Monad.Trans.Resource (MonadResource (..), InternalState, runInternalState, MonadThrow (..), throwM, ResourceT)
|
import Control.Monad.Trans.Resource (MonadResource (..), InternalState, runInternalState, MonadThrow (..), throwM, ResourceT)
|
||||||
import Data.ByteString (ByteString)
|
import Data.ByteString (ByteString)
|
||||||
import qualified Data.ByteString.Lazy as L
|
import qualified Data.ByteString.Lazy as L
|
||||||
|
import Data.CaseInsensitive (CI)
|
||||||
import Data.Conduit (Flush, ConduitT)
|
import Data.Conduit (Flush, ConduitT)
|
||||||
import Data.IORef (IORef, modifyIORef')
|
import Data.IORef (IORef, modifyIORef')
|
||||||
import Data.Map (Map, unionWith)
|
import Data.Map (Map, unionWith)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user