warp-3.4.13.1: test/HTTP.hs
module HTTP (
sendGET,
sendGETwH,
sendHEAD,
sendHEADwH,
responseBody,
responseStatus,
responseHeaders,
getHeaderValue,
HeaderName,
) where
import Data.ByteString
import qualified Data.ByteString.Lazy as BL
import Network.HTTP.Client
import Network.HTTP.Types
sendGET :: String -> IO (Response BL.ByteString)
sendGET url = sendGETwH url []
sendGETwH :: String -> [Header] -> IO (Response BL.ByteString)
sendGETwH url hdr = do
manager <- newManager defaultManagerSettings
request <- parseRequest url
let request' = request{requestHeaders = hdr}
response <- httpLbs request' manager
return response
sendHEAD :: String -> IO (Response BL.ByteString)
sendHEAD url = sendHEADwH url []
sendHEADwH :: String -> [Header] -> IO (Response BL.ByteString)
sendHEADwH url hdr = do
manager <- newManager defaultManagerSettings
request <- parseRequest url
let request' = request{requestHeaders = hdr, method = methodHead}
response <- httpLbs request' manager
return response
getHeaderValue :: HeaderName -> [Header] -> Maybe ByteString
getHeaderValue = lookup