HTTP-4000.2.8: A library for client-side HTTP

Portabilitynon-portable (not tested)
Stabilityexperimental
MaintainerGanesh Sittampalam <http@projects.haskell.org>
Safe HaskellNone

Network.HTTP.Auth

Description

Representing HTTP Auth values in Haskell. Right now, it contains mostly functionality needed by Browser.

Synopsis

Documentation

data Authority Source

Authority specifies the HTTP Authentication method to use for a given domain/realm; Basic or Digest.

Constructors

AuthBasic 

Fields

auRealm :: String
 
auUsername :: String
 
auPassword :: String
 
auSite :: URI
 
AuthDigest 

Fields

auRealm :: String
 
auUsername :: String
 
auPassword :: String
 
auNonce :: String
 
auAlgorithm :: Maybe Algorithm
 
auDomain :: [URI]
 
auOpaque :: Maybe String
 
auQop :: [Qop]
 

data Algorithm Source

Algorithm controls the digest algorithm to, MD5 or MD5Session.

Constructors

AlgMD5 
AlgMD5sess 

Instances

Eq Algorithm 
Show Algorithm 

data Challenge Source

Constructors

ChalBasic 

Fields

chRealm :: String
 
ChalDigest 

Fields

chRealm :: String
 
chDomain :: [URI]
 
chNonce :: String
 
chOpaque :: Maybe String
 
chStale :: Bool
 
chAlgorithm :: Maybe Algorithm
 
chQop :: [Qop]
 

data Qop Source

Constructors

QopAuth 
QopAuthInt 

Instances

Eq Qop 
Show Qop 

headerToChallenge :: URI -> Header -> Maybe ChallengeSource

headerToChallenge base www_auth tries to convert the WWW-Authenticate header www_auth into a Challenge value.

withAuthority :: Authority -> Request ty -> StringSource

withAuthority auth req generates a credentials value from the auth Authority, in the context of the given request.

If a client nonce was to be used then this function might need to be of type ... -> BrowserAction String