Implements a data type for constructing and destructing x-www-urlencoded strings. See http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
- data URLEncoded
- filter :: ((String, String) -> Bool) -> URLEncoded -> URLEncoded
- class URLShow a where
- class URLEncode a where
- urlEncode :: a -> URLEncoded
- empty :: URLEncoded
- importString :: MonadError e m => String -> m URLEncoded
- importList :: [(String, String)] -> URLEncoded
- (%=) :: (URLShow a, URLShow b) => a -> b -> URLEncoded
- (%=?) :: (URLShow a, URLShow b) => a -> Maybe b -> URLEncoded
- (%&) :: URLEncoded -> URLEncoded -> URLEncoded
- class AddURLEncoded a where
- (%?) :: a -> URLEncoded -> a
- null :: URLEncoded -> Bool
- keys :: URLEncoded -> [String]
- lookup :: URLShow a => a -> URLEncoded -> Maybe String
- lookupAll :: URLShow a => a -> URLEncoded -> [String]
- lookup1 :: (URLShow a, MonadError e m) => a -> URLEncoded -> m String
- lookupDefault :: URLShow a => String -> a -> URLEncoded -> String
- pairs :: URLEncoded -> [(String, String)]
- (%!) :: URLShow a => URLEncoded -> a -> Maybe String
- addToURI :: URLEncoded -> URI -> URI
- export :: URLEncoded -> String
Representation of a URL-encoded string
data URLEncoded Source
A container for URLEncoded data
filter :: ((String, String) -> Bool) -> URLEncoded -> URLEncodedSource
Create a URLEncoded object that represents all pairs from the input that match the supplied predicate
Serialize a value into a String for encoding as part of an x-www-urlencoded value
Encode a value as x-www-urlencoded
urlEncode :: a -> URLEncodedSource
Generate
URLEncoded data with no pairs
importString :: MonadError e m => String -> m URLEncodedSource
Parse this string as x-www-urlencoded
importList :: [(String, String)] -> URLEncodedSource
Import this list of pairs as URLEncoded data
(%=) :: (URLShow a, URLShow b) => a -> b -> URLEncodedSource
Create singleton URLEncoded data containing the supplied key and value
:: (URLShow a, URLShow b) | |
=> a | key |
-> Maybe b | value |
-> URLEncoded |
If the second value is Nothing, return empty URLEncoded data. Otherwise return singleton URLEncoded data that contains the given key and value.
(%&) :: URLEncoded -> URLEncoded -> URLEncodedSource
class AddURLEncoded a whereSource
(%?) :: a -> URLEncoded -> aSource
Query
null :: URLEncoded -> BoolSource
Is this URLEncoded data empty?
keys :: URLEncoded -> [String]Source
All of the keys from the URLEncoded value, in order, preserving duplicates
lookupAll :: URLShow a => a -> URLEncoded -> [String]Source
Return all values whose keys match the supplied key, in the order they appear in the query. Will return an empty list if no keys match.
lookup1 :: (URLShow a, MonadError e m) => a -> URLEncoded -> m StringSource
Return the first value for the given key, or throw an error if the key is not present in the URLEncoded data.
lookupDefault :: URLShow a => String -> a -> URLEncoded -> StringSource
pairs :: URLEncoded -> [(String, String)]Source
(%!) :: URLShow a => URLEncoded -> a -> Maybe StringSource
Look up a key in a URLEncoded value and return the first matching value, or Nothing if there is no value that matches
Export
addToURI :: URLEncoded -> URI -> URISource
Add this URL-encoded data to the query part of a URI, after any existing query arguments.
export :: URLEncoded -> StringSource
Convert this URLEncoded object into an x-www-urlencoded String (The resulting string is 7-bit clean ASCII, containing only unreserved URI characters and %-encoded values)