gi-soup-2.4.18: Libsoup bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

GI.Soup.Objects.Auth

Contents

Description

The abstract base class for handling authentication. Specific HTTP Authentication mechanisms are implemented by its subclasses, but applications never need to be aware of the specific subclasses being used.

Synopsis

Exported types

newtype Auth Source #

Memory-managed wrapper type.

Constructors

Auth (ManagedPtr Auth) 
Instances
GObject Auth Source # 
Instance details

Defined in GI.Soup.Objects.Auth

Methods

gobjectType :: IO GType #

HasParentTypes Auth Source # 
Instance details

Defined in GI.Soup.Objects.Auth

type ParentTypes Auth Source # 
Instance details

Defined in GI.Soup.Objects.Auth

type ParentTypes Auth = Object ': ([] :: [Type])

class (GObject o, IsDescendantOf Auth o) => IsAuth o Source #

Type class for types which can be safely cast to Auth, for instance with toAuth.

Instances
(GObject o, IsDescendantOf Auth o) => IsAuth o Source # 
Instance details

Defined in GI.Soup.Objects.Auth

toAuth :: (MonadIO m, IsAuth o) => o -> m Auth Source #

Cast to Auth, for types for which this is known to be safe. For general casts, use castTo.

noAuth :: Maybe Auth Source #

A convenience alias for Nothing :: Maybe Auth.

Methods

authenticate

authAuthenticate Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> Text

username: the username provided by the user or client

-> Text

password: the password provided by the user or client

-> m () 

Call this on an auth to authenticate it; normally this will cause the auth's message to be requeued with the new authentication info.

canAuthenticate

authCanAuthenticate Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Bool

Returns: True if auth is able to accept credentials.

Tests if auth is able to authenticate by providing credentials to the authAuthenticate.

Since: 2.54

getAuthorization

authGetAuthorization Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a, IsMessage b) 
=> a

auth: a Auth

-> b

msg: the Message to be authorized

-> m Text

Returns: the "Authorization" header, which must be freed.

Generates an appropriate "Authorization" header for msg. (The session will only call this if authIsAuthenticated returned True.)

getHost

authGetHost Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Text

Returns: the hostname

Returns the host that auth is associated with.

getInfo

authGetInfo Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Text

Returns: the identifier

Gets an opaque identifier for auth, for use as a hash key or the like. Auth objects from the same server with the same identifier refer to the same authentication domain (eg, the URLs associated with them take the same usernames and passwords).

getProtectionSpace

authGetProtectionSpace Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> URI

sourceUri: the URI of the request that auth was generated in response to.

-> m [Text]

Returns: the list of paths, which can be freed with soup_auth_free_protection_space().

Returns a list of paths on the server which auth extends over. (All subdirectories of these paths are also assumed to be part of auth's protection space, unless otherwise discovered not to be.)

getRealm

authGetRealm Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Text

Returns: the realm name

Returns auth's realm. This is an identifier that distinguishes separate authentication spaces on a given server, and may be some string that is meaningful to the user. (Although it is probably not localized.)

getSavedPassword

authGetSavedPassword :: (HasCallStack, MonadIO m, IsAuth a) => a -> Text -> m Text Source #

No description available in the introspection data.

getSavedUsers

authGetSavedUsers :: (HasCallStack, MonadIO m, IsAuth a) => a -> m [Text] Source #

No description available in the introspection data.

getSchemeName

authGetSchemeName Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Text

Returns: the scheme name

Returns auth's scheme name. (Eg, "Basic", "Digest", or "NTLM")

hasSavedPassword

authHasSavedPassword :: (HasCallStack, MonadIO m, IsAuth a) => a -> Text -> Text -> m () Source #

No description available in the introspection data.

isAuthenticated

authIsAuthenticated Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Bool

Returns: True if auth has been given a username and password

Tests if auth has been given a username and password

isForProxy

authIsForProxy Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a) 
=> a

auth: a Auth

-> m Bool

Returns: True or False

Tests whether or not auth is associated with a proxy server rather than an "origin" server.

isReady

authIsReady Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a, IsMessage b) 
=> a

auth: a Auth

-> b

msg: a Message

-> m Bool

Returns: True if auth is ready to make a request with.

Tests if auth is ready to make a request for msg with. For most auths, this is equivalent to authIsAuthenticated, but for some auth types (eg, NTLM), the auth may be sendable (eg, as an authentication request) even before it is authenticated.

Since: 2.42

new

authNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsMessage a) 
=> GType

type: the type of auth to create (a subtype of Auth)

-> a

msg: the Message the auth is being created for

-> Text

authHeader: the WWW-Authenticate/Proxy-Authenticate header

-> m (Maybe Auth)

Returns: the new Auth, or Nothing if it could not be created

Creates a new Auth of type type with the information from msg and authHeader.

This is called by Session; you will normally not create auths yourself.

savePassword

authSavePassword :: (HasCallStack, MonadIO m, IsAuth a) => a -> Text -> Text -> m () Source #

No description available in the introspection data.

update

authUpdate Source #

Arguments

:: (HasCallStack, MonadIO m, IsAuth a, IsMessage b) 
=> a

auth: a Auth

-> b

msg: the Message auth is being updated for

-> Text

authHeader: the WWW-Authenticate/Proxy-Authenticate header

-> m Bool

Returns: True if auth is still a valid (but potentially unauthenticated) Auth. False if something about authParams could not be parsed or incorporated into auth at all.

Updates auth with the information from msg and authHeader, possibly un-authenticating it. As with authNew, this is normally only used by Session.

Properties

host

No description available in the introspection data.

clearAuthHost :: (MonadIO m, IsAuth o) => o -> m () Source #

Set the value of the “host” property to Nothing. When overloading is enabled, this is equivalent to

clear #host

constructAuthHost :: IsAuth o => Text -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “host” property. This is rarely needed directly, but it is used by new.

getAuthHost :: (MonadIO m, IsAuth o) => o -> m Text Source #

Get the value of the “host” property. When overloading is enabled, this is equivalent to

get auth #host

setAuthHost :: (MonadIO m, IsAuth o) => o -> Text -> m () Source #

Set the value of the “host” property. When overloading is enabled, this is equivalent to

set auth [ #host := value ]

isAuthenticated

No description available in the introspection data.

getAuthIsAuthenticated :: (MonadIO m, IsAuth o) => o -> m Bool Source #

Get the value of the “is-authenticated” property. When overloading is enabled, this is equivalent to

get auth #isAuthenticated

isForProxy

No description available in the introspection data.

constructAuthIsForProxy :: IsAuth o => Bool -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “is-for-proxy” property. This is rarely needed directly, but it is used by new.

getAuthIsForProxy :: (MonadIO m, IsAuth o) => o -> m Bool Source #

Get the value of the “is-for-proxy” property. When overloading is enabled, this is equivalent to

get auth #isForProxy

setAuthIsForProxy :: (MonadIO m, IsAuth o) => o -> Bool -> m () Source #

Set the value of the “is-for-proxy” property. When overloading is enabled, this is equivalent to

set auth [ #isForProxy := value ]

realm

No description available in the introspection data.

clearAuthRealm :: (MonadIO m, IsAuth o) => o -> m () Source #

Set the value of the “realm” property to Nothing. When overloading is enabled, this is equivalent to

clear #realm

constructAuthRealm :: IsAuth o => Text -> IO (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “realm” property. This is rarely needed directly, but it is used by new.

getAuthRealm :: (MonadIO m, IsAuth o) => o -> m Text Source #

Get the value of the “realm” property. When overloading is enabled, this is equivalent to

get auth #realm

setAuthRealm :: (MonadIO m, IsAuth o) => o -> Text -> m () Source #

Set the value of the “realm” property. When overloading is enabled, this is equivalent to

set auth [ #realm := value ]

schemeName

No description available in the introspection data.

getAuthSchemeName :: (MonadIO m, IsAuth o) => o -> m Text Source #

Get the value of the “scheme-name” property. When overloading is enabled, this is equivalent to

get auth #schemeName