29 lines
826 B
Haskell
29 lines
826 B
Haskell
module Download (downloadHtmlAvailableDef, downloadHtmlDef) where
|
|
|
|
import Data.ByteString.Lazy
|
|
import Network.HTTP.Simple
|
|
|
|
baseUrl = "http://www.cnrtl.fr/definition/"
|
|
|
|
downloadHtmlAvailableDef :: String -> IO ByteString
|
|
downloadHtmlAvailableDef w = do
|
|
request <- getAvailableDefRequest w
|
|
downloadFromRequest request
|
|
|
|
downloadHtmlDef :: String -> String -> IO ByteString
|
|
downloadHtmlDef n w = do
|
|
request <- getDefRequest n w
|
|
downloadFromRequest request
|
|
|
|
downloadFromRequest :: Request -> IO ByteString
|
|
downloadFromRequest r = do
|
|
response <- httpLBS r
|
|
return (getResponseBody response)
|
|
|
|
|
|
getAvailableDefRequest :: String -> IO Request
|
|
getAvailableDefRequest w = parseRequest (baseUrl ++ w)
|
|
|
|
getDefRequest :: String -> String -> IO Request
|
|
getDefRequest n w = parseRequest (baseUrl ++ w ++ "/" ++ n)
|