Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
AuthManager
is the SessionFeature
that handles HTTP
authentication for a Session
.
A AuthManager
is added to the session by default, and normally
you don't need to worry about it at all. However, if you want to
disable HTTP authentication, you can remove the feature from the
session with sessionRemoveFeatureByType
, or disable it on
individual requests with messageDisableFeature
.
Since: 2.42
Synopsis
- newtype AuthManager = AuthManager (ManagedPtr AuthManager)
- class (GObject o, IsDescendantOf AuthManager o) => IsAuthManager o
- toAuthManager :: (MonadIO m, IsAuthManager o) => o -> m AuthManager
- authManagerClearCachedCredentials :: (HasCallStack, MonadIO m, IsAuthManager a) => a -> m ()
- authManagerUseAuth :: (HasCallStack, MonadIO m, IsAuthManager a, IsAuth b) => a -> URI -> b -> m ()
- type AuthManagerAuthenticateCallback = Message -> Auth -> Bool -> IO ()
- type C_AuthManagerAuthenticateCallback = Ptr () -> Ptr Message -> Ptr Auth -> CInt -> Ptr () -> IO ()
- afterAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
- genClosure_AuthManagerAuthenticate :: MonadIO m => AuthManagerAuthenticateCallback -> m (GClosure C_AuthManagerAuthenticateCallback)
- mk_AuthManagerAuthenticateCallback :: C_AuthManagerAuthenticateCallback -> IO (FunPtr C_AuthManagerAuthenticateCallback)
- noAuthManagerAuthenticateCallback :: Maybe AuthManagerAuthenticateCallback
- onAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId
- wrap_AuthManagerAuthenticateCallback :: AuthManagerAuthenticateCallback -> C_AuthManagerAuthenticateCallback
Exported types
newtype AuthManager Source #
Memory-managed wrapper type.
AuthManager (ManagedPtr AuthManager) |
Instances
Eq AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager (==) :: AuthManager -> AuthManager -> Bool # (/=) :: AuthManager -> AuthManager -> Bool # | |
GObject AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager | |
ManagedPtrNewtype AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager toManagedPtr :: AuthManager -> ManagedPtr AuthManager | |
TypedObject AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager | |
HasParentTypes AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager | |
IsGValue (Maybe AuthManager) Source # | Convert |
Defined in GI.Soup.Objects.AuthManager gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe AuthManager -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe AuthManager) | |
type ParentTypes AuthManager Source # | |
Defined in GI.Soup.Objects.AuthManager |
class (GObject o, IsDescendantOf AuthManager o) => IsAuthManager o Source #
Type class for types which can be safely cast to AuthManager
, for instance with toAuthManager
.
Instances
(GObject o, IsDescendantOf AuthManager o) => IsAuthManager o Source # | |
Defined in GI.Soup.Objects.AuthManager |
toAuthManager :: (MonadIO m, IsAuthManager o) => o -> m AuthManager Source #
Cast to AuthManager
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
addFeature, attach, bindProperty, bindPropertyFull, clearCachedCredentials, detach, forceFloating, freezeNotify, getv, hasFeature, isFloating, notify, notifyByPspec, ref, refSink, removeFeature, runDispose, stealData, stealQdata, thawNotify, unref, useAuth, watchClosure.
Getters
getData, getProperty, getQdata.
Setters
clearCachedCredentials
authManagerClearCachedCredentials Source #
:: (HasCallStack, MonadIO m, IsAuthManager a) | |
=> a |
|
-> m () |
Clear all credentials cached by manager
Since: 2.58
useAuth
:: (HasCallStack, MonadIO m, IsAuthManager a, IsAuth b) | |
=> a |
|
-> URI |
|
-> b |
|
-> m () |
Records that auth
is to be used under uri
, as though a
WWW-Authenticate header had been received at that URI. This can be
used to "preload" manager
's auth cache, to avoid an extra HTTP
round trip in the case where you know ahead of time that a 401
response will be returned.
This is only useful for authentication types where the initial Authorization header does not depend on any additional information from the server. (Eg, Basic or NTLM, but not Digest.)
Since: 2.42
Signals
authenticate
type AuthManagerAuthenticateCallback Source #
= Message |
|
-> Auth |
|
-> Bool |
|
-> IO () |
Emitted when the manager requires the application to provide authentication credentials.
Session
connects to this signal and emits its own
authenticate signal when it is emitted, so
you shouldn't need to use this signal directly.
type C_AuthManagerAuthenticateCallback = Ptr () -> Ptr Message -> Ptr Auth -> CInt -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
afterAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId Source #
Connect a signal handler for the authenticate signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
authManager #authenticate callback
genClosure_AuthManagerAuthenticate :: MonadIO m => AuthManagerAuthenticateCallback -> m (GClosure C_AuthManagerAuthenticateCallback) Source #
Wrap the callback into a GClosure
.
mk_AuthManagerAuthenticateCallback :: C_AuthManagerAuthenticateCallback -> IO (FunPtr C_AuthManagerAuthenticateCallback) Source #
Generate a function pointer callable from C code, from a C_AuthManagerAuthenticateCallback
.
noAuthManagerAuthenticateCallback :: Maybe AuthManagerAuthenticateCallback Source #
A convenience synonym for
.Nothing
:: Maybe
AuthManagerAuthenticateCallback
onAuthManagerAuthenticate :: (IsAuthManager a, MonadIO m) => a -> AuthManagerAuthenticateCallback -> m SignalHandlerId Source #
Connect a signal handler for the authenticate signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
authManager #authenticate callback