X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FHeaders.hs;h=7936f0435fe575c64e0faf2ba5980cf6b70913d4;hp=655252cc4b656c39abcb92252a276ffc1d94e638;hb=a9e9f50818285bf66cd64e5a248175eecb8e1fea;hpb=3c7a58ab749a55a30466a033b170536bcdf18b98 diff --git a/Network/HTTP/Lucu/Headers.hs b/Network/HTTP/Lucu/Headers.hs index 655252c..7936f04 100644 --- a/Network/HTTP/Lucu/Headers.hs +++ b/Network/HTTP/Lucu/Headers.hs @@ -20,20 +20,20 @@ class HasHeaders a where getHeaders :: a -> Headers setHeaders :: a -> Headers -> a - getHeader :: a -> String -> Maybe String - getHeader a key + getHeader :: String -> a -> Maybe String + getHeader key a = fmap snd $ find (noCaseEq key . fst) (getHeaders a) - deleteHeader :: a -> String -> a - deleteHeader a key + deleteHeader :: String -> a -> a + deleteHeader key a = setHeaders a $ filter (not . noCaseEq key . fst) (getHeaders a) - addHeader :: a -> String -> String -> a - addHeader a key val + addHeader :: String -> String -> a -> a + addHeader key val a = setHeaders a $ (getHeaders a) ++ [(key, val)] - setHeader :: a -> String -> String -> a - setHeader a key val + setHeader :: String -> String -> a -> a + setHeader key val a = let list = getHeaders a deleted = filter (not . noCaseEq key . fst) list added = deleted ++ [(key, val)]