-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Unicode aware uri-encoding
--   
--   This package allows you to uri encode and uri decode Strings, Texts
--   and ByteString values.
@package uri-encode
@version 1.5.0.7


-- | Unicode aware URI encoding and decoding functions for both String and
--   Text. Although standards are pretty vague about Unicode in URIs most
--   browsers are pretty straightforward when encoding URIs: Encode a text
--   to a UTF-8 string and URI-encode every individual byte (not
--   character).
module Network.URI.Encode

-- | URI encode a <a>String</a>, unicode aware.
encode :: String -> String

-- | URI encode a <a>String</a>, unicode aware, using the predicate to
--   decide which characters are escaped (<a>False</a> means escape).
encodeWith :: (Char -> Bool) -> String -> String

-- | URI encode a <a>Text</a>, unicode aware.
encodeText :: Text -> Text

-- | URI encode a <a>Text</a>, unicode aware, using the predicate to decide
--   which characters are escaped (<a>False</a> means escape).
encodeTextWith :: (Char -> Bool) -> Text -> Text

-- | URI encode a <a>Text</a> into a <tt>ByteString</tt>, unicode aware.
encodeTextToBS :: Text -> ByteString

-- | URI encode a <a>Text</a> into a <tt>ByteString</tt>, unicode aware,
--   using the predicate to decide which characters are escaped
--   (<a>False</a> means escape).
encodeTextToBSWith :: (Char -> Bool) -> Text -> ByteString

-- | URI encode a UTF8-encoded <tt>ByteString</tt> into a
--   <tt>ByteString</tt>, unicode aware.
encodeByteString :: ByteString -> ByteString

-- | URI encode a UTF8-encoded 'ByteString into a <tt>ByteString</tt>,
--   unicode aware, using the predicate to decide which characters are
--   escaped (<a>False</a> means escape).
encodeByteStringWith :: (Char -> Bool) -> ByteString -> ByteString

-- | URI decode a <a>String</a>, unicode aware.
decode :: String -> String

-- | URI decode a <a>Text</a>, unicode aware.
decodeText :: Text -> Text

-- | URI decode a <tt>ByteString</tt> into a <a>Text</a>, unicode aware.
decodeBSToText :: ByteString -> Text

-- | URI decode a <tt>ByteString</tt> into a UTF8-encoded
--   <tt>ByteString</tt>, unicode aware.
decodeByteString :: ByteString -> ByteString

-- | Is a character allowed in a URI. Only ASCII alphabetic characters,
--   decimal digits, and - _ . ~ are allowed. This is following RFC 3986.
isAllowed :: Char -> Bool
