http-directory-0.1.1: http directory listing library

Safe HaskellNone
LanguageHaskell2010

Network.HTTP.Directory

Description

A library for listing "files" in an http "directory".

import Network.HTTP.Directory
import qualified Data.Text as T
import Network.HTTP.Client (newManager)
import Network.HTTP.Client.TLS (tlsManagerSettings)

main = do
  mgr <- newManager tlsManagerSettings
  files <- httpDirectory mgr "https://example.com/some/dir/"
  mapM_ T.putStrLn files
  httpFileSize mgr (head files) >>= print
  httpLastModified mgr (head files) >>= print
Synopsis

Documentation

httpDirectory :: Manager -> String -> IO [Text] Source #

List the file links (hrefs) in an http directory

Raises an error if the http request fails.

Note if the directory (webpage) url is redirected to a different path you may need to use httpRedirect to determine the actual final url prefix for relative links (files).

httpFileSize :: Manager -> String -> IO (Maybe Integer) Source #

Try to get the filesize (Content-Length field) of an http file

Raises an error if the http request fails.

httpLastModified :: Manager -> String -> IO (Maybe UTCTime) Source #

Try to get the modification time (Last-Modified field) of an http file

Raises an error if the http request fails.

httpRedirect :: Manager -> String -> IO (Maybe ByteString) Source #

Return final redirect for an url

httpRedirects :: Manager -> String -> IO [ByteString] Source #

Returns the list of http redirects for an url in reverse order (ie last redirect is listed first)