, ScopedTypeVariables
, UnicodeSyntax
#-}
--- |Provide facilities to encode/decode MIME parameter values in
+-- |Provide functionalities to encode/decode MIME parameter values in
-- character sets other than US-ASCII. See:
--- http://www.faqs.org/rfcs/rfc2231.html
+-- <http://www.faqs.org/rfcs/rfc2231.html>
+--
+-- You usually don't have to use this module directly.
module Network.HTTP.Lucu.RFC2231
( printParams
, paramsP
import Data.Text (Text)
import qualified Data.Text as T
import qualified Data.Text.ICU.Convert as TC
-import Data.Text.ICU.Error
import Data.Text.Encoding
+import Data.Text.ICU.Error
import Data.Traversable
import Data.Word
import Network.HTTP.Lucu.Parser.Http
import Prelude.Unicode
import System.IO.Unsafe
+-- |Convert parameter values to an 'AsciiBuilder'.
printParams ∷ Map CIAscii Text → AsciiBuilder
printParams params
| M.null params = (∅)
section (InitialEncodedParam {..}) = 0
section ep = epSection ep
+-- |'Parser' for parameter values.
paramsP ∷ Parser (Map CIAscii Text)
paramsP = decodeParams =≪ P.many (try paramP)