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)