on wai-app-static-3.1.6.3 help sign in
41 lines 1.1 kB history raw
1module HTTP (
2 sendGET
3 , sendGETwH
4 , sendHEAD
5 , sendHEADwH
6 , responseBody
7 , responseStatus
8 , responseHeaders
9 , getHeaderValue
10 , HeaderName
11 ) where
13import Network.HTTP.Client
14import Network.HTTP.Types
15import Data.ByteString
16import qualified Data.ByteString.Lazy as BL
18sendGET :: String -> IO (Response BL.ByteString)
19sendGET url = sendGETwH url []
21sendGETwH :: String -> [Header] -> IO (Response BL.ByteString)
22sendGETwH url hdr = do
23 manager <- newManager defaultManagerSettings
24 request <- parseRequest url
25 let request' = request { requestHeaders = hdr }
26 response <- httpLbs request' manager
27 return response
29sendHEAD :: String -> IO (Response BL.ByteString)
30sendHEAD url = sendHEADwH url []
32sendHEADwH :: String -> [Header] -> IO (Response BL.ByteString)
33sendHEADwH url hdr = do
34 manager <- newManager defaultManagerSettings
35 request <- parseRequest url
36 let request' = request { requestHeaders = hdr, method = methodHead }
37 response <- httpLbs request' manager
38 return response
40getHeaderValue :: HeaderName -> [Header] -> Maybe ByteString
41getHeaderValue = lookup