| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Soup.Objects.AuthDomain
Contents
Description
No description available in the introspection data.
Synopsis
- newtype AuthDomain = AuthDomain (ManagedPtr AuthDomain)
- class (GObject o, IsDescendantOf AuthDomain o) => IsAuthDomain o
- toAuthDomain :: (MonadIO m, IsAuthDomain o) => o -> m AuthDomain
- noAuthDomain :: Maybe AuthDomain
- authDomainAccepts :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> m (Maybe Text)
- authDomainAddPath :: (HasCallStack, MonadIO m, IsAuthDomain a) => a -> Text -> m ()
- authDomainChallenge :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> m ()
- authDomainCheckPassword :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> Text -> Text -> m Bool
- authDomainCovers :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> m Bool
- authDomainGetRealm :: (HasCallStack, MonadIO m, IsAuthDomain a) => a -> m Text
- authDomainRemovePath :: (HasCallStack, MonadIO m, IsAuthDomain a) => a -> Text -> m ()
- authDomainSetFilter :: (HasCallStack, MonadIO m, IsAuthDomain a) => a -> AuthDomainFilter -> m ()
- authDomainSetGenericAuthCallback :: (HasCallStack, MonadIO m, IsAuthDomain a) => a -> AuthDomainGenericAuthCallback -> m ()
- authDomainTryGenericAuthCallback :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> Text -> m Bool
- clearAuthDomainAddPath :: (MonadIO m, IsAuthDomain o) => o -> m ()
- constructAuthDomainAddPath :: IsAuthDomain o => Text -> IO (GValueConstruct o)
- setAuthDomainAddPath :: (MonadIO m, IsAuthDomain o) => o -> Text -> m ()
- clearAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> m ()
- constructAuthDomainFilter :: IsAuthDomain o => FunPtr C_AuthDomainFilter -> IO (GValueConstruct o)
- getAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> m (Maybe AuthDomainFilter_WithClosures)
- setAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> FunPtr C_AuthDomainFilter -> m ()
- constructAuthDomainFilterData :: IsAuthDomain o => Ptr () -> IO (GValueConstruct o)
- getAuthDomainFilterData :: (MonadIO m, IsAuthDomain o) => o -> m (Ptr ())
- setAuthDomainFilterData :: (MonadIO m, IsAuthDomain o) => o -> Ptr () -> m ()
- clearAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> m ()
- constructAuthDomainGenericAuthCallback :: IsAuthDomain o => FunPtr C_AuthDomainGenericAuthCallback -> IO (GValueConstruct o)
- getAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> m (Maybe AuthDomainGenericAuthCallback_WithClosures)
- setAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> FunPtr C_AuthDomainGenericAuthCallback -> m ()
- constructAuthDomainGenericAuthData :: IsAuthDomain o => Ptr () -> IO (GValueConstruct o)
- getAuthDomainGenericAuthData :: (MonadIO m, IsAuthDomain o) => o -> m (Ptr ())
- setAuthDomainGenericAuthData :: (MonadIO m, IsAuthDomain o) => o -> Ptr () -> m ()
- constructAuthDomainProxy :: IsAuthDomain o => Bool -> IO (GValueConstruct o)
- getAuthDomainProxy :: (MonadIO m, IsAuthDomain o) => o -> m Bool
- constructAuthDomainRealm :: IsAuthDomain o => Text -> IO (GValueConstruct o)
- getAuthDomainRealm :: (MonadIO m, IsAuthDomain o) => o -> m Text
- clearAuthDomainRemovePath :: (MonadIO m, IsAuthDomain o) => o -> m ()
- constructAuthDomainRemovePath :: IsAuthDomain o => Text -> IO (GValueConstruct o)
- setAuthDomainRemovePath :: (MonadIO m, IsAuthDomain o) => o -> Text -> m ()
Exported types
newtype AuthDomain Source #
Memory-managed wrapper type.
Constructors
| AuthDomain (ManagedPtr AuthDomain) |
Instances
| GObject AuthDomain Source # | |
Defined in GI.Soup.Objects.AuthDomain Methods gobjectType :: IO GType # | |
| HasParentTypes AuthDomain Source # | |
Defined in GI.Soup.Objects.AuthDomain | |
| type ParentTypes AuthDomain Source # | |
Defined in GI.Soup.Objects.AuthDomain | |
class (GObject o, IsDescendantOf AuthDomain o) => IsAuthDomain o Source #
Type class for types which can be safely cast to AuthDomain, for instance with toAuthDomain.
Instances
| (GObject o, IsDescendantOf AuthDomain o) => IsAuthDomain o Source # | |
Defined in GI.Soup.Objects.AuthDomain | |
toAuthDomain :: (MonadIO m, IsAuthDomain o) => o -> m AuthDomain Source #
Cast to AuthDomain, for types for which this is known to be safe. For general casts, use castTo.
noAuthDomain :: Maybe AuthDomain Source #
A convenience alias for Nothing :: Maybe AuthDomain.
Methods
accepts
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) | |
| => a |
|
| -> b |
|
| -> m (Maybe Text) | Returns: the username that |
Checks if msg contains appropriate authorization for domain to
accept it. Mirroring authDomainCovers, this does not check
whether or not domain <emphasis>cares</emphasis> if msg is
authorized.
This is used by Server internally and is probably of no use to
anyone else.
addPath
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a) | |
| => a |
|
| -> Text |
|
| -> m () |
Adds path to domain, such that requests under path on domain's
server will require authentication (unless overridden by
authDomainRemovePath or authDomainSetFilter).
You can also add paths by setting the AUTH_DOMAIN_ADD_PATH
property, which can also be used to add one or more paths at
construct time.
challenge
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) | |
| => a |
|
| -> b |
|
| -> m () |
Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to msg,
requesting that the client authenticate, and sets msg's status
accordingly.
This is used by Server internally and is probably of no use to
anyone else.
checkPassword
authDomainCheckPassword Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) | |
| => a |
|
| -> b |
|
| -> Text |
|
| -> Text |
|
| -> m Bool | Returns: whether or not the message is authenticated |
Checks if msg authenticates to domain via username and
password. This would normally be called from a
AuthDomainGenericAuthCallback.
covers
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) | |
| => a |
|
| -> b |
|
| -> m Bool | Returns: |
Checks if domain requires msg to be authenticated (according to
its paths and filter function). This does not actually look at
whether msg <emphasis>is</emphasis> authenticated, merely whether
or not it needs to be.
This is used by Server internally and is probably of no use to
anyone else.
getRealm
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a) | |
| => a |
|
| -> m Text | Returns: |
Gets the realm name associated with domain
removePath
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a) | |
| => a |
|
| -> Text |
|
| -> m () |
Removes path from domain, such that requests under path on
domain's server will NOT require authentication.
This is not simply an undo-er for authDomainAddPath; it
can be used to "carve out" a subtree that does not require
authentication inside a hierarchy that does. Note also that unlike
with authDomainAddPath, this cannot be overridden by
adding a filter, as filters can only bypass authentication that
would otherwise be required, not require it where it would
otherwise be unnecessary.
You can also remove paths by setting the
AUTH_DOMAIN_REMOVE_PATH property, which can also be used to
remove one or more paths at construct time.
setFilter
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a) | |
| => a |
|
| -> AuthDomainFilter |
|
| -> m () |
Adds filter as an authentication filter to domain. The filter
gets a chance to bypass authentication for certain requests that
would otherwise require it. Eg, it might check the message's path
in some way that is too complicated to do via the other methods, or
it might check the message's method, and allow GETs but not PUTs.
The filter function returns True if the request should still
require authentication, or False if authentication is unnecessary
for this request.
To help prevent security holes, your filter should return True by
default, and only return False under specifically-tested
circumstances, rather than the other way around. Eg, in the example
above, where you want to authenticate PUTs but not GETs, you should
check if the method is GET and return False in that case, and then
return True for all other methods (rather than returning True for
PUT and False for all other methods). This way if it turned out
(now or later) that some paths supported additional methods besides
GET and PUT, those methods would default to being NOT allowed for
unauthenticated users.
You can also set the filter by setting the AUTH_DOMAIN_FILTER
and AUTH_DOMAIN_FILTER_DATA properties, which can also be
used to set the filter at construct time.
setGenericAuthCallback
authDomainSetGenericAuthCallback Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAuthDomain a) | |
| => a |
|
| -> AuthDomainGenericAuthCallback |
|
| -> m () |
Sets authCallback as an authentication-handling callback for
domain. Whenever a request comes in to domain which cannot be
authenticated via a domain-specific auth callback (eg,
AuthDomainDigestAuthCallback), the generic auth callback
will be invoked. See AuthDomainGenericAuthCallback for information
on what the callback should do.
tryGenericAuthCallback
authDomainTryGenericAuthCallback :: (HasCallStack, MonadIO m, IsAuthDomain a, IsMessage b) => a -> b -> Text -> m Bool Source #
No description available in the introspection data.
Properties
addPath
No description available in the introspection data.
clearAuthDomainAddPath :: (MonadIO m, IsAuthDomain o) => o -> m () Source #
Set the value of the “add-path” property to Nothing.
When overloading is enabled, this is equivalent to
clear #addPath
constructAuthDomainAddPath :: IsAuthDomain o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “add-path” property. This is rarely needed directly, but it is used by new.
setAuthDomainAddPath :: (MonadIO m, IsAuthDomain o) => o -> Text -> m () Source #
Set the value of the “add-path” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #addPath:=value ]
filter
The AuthDomainFilter for the domain
clearAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> m () Source #
Set the value of the “filter” property to Nothing.
When overloading is enabled, this is equivalent to
clear #filter
constructAuthDomainFilter :: IsAuthDomain o => FunPtr C_AuthDomainFilter -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “filter” property. This is rarely needed directly, but it is used by new.
getAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> m (Maybe AuthDomainFilter_WithClosures) Source #
Get the value of the “filter” property.
When overloading is enabled, this is equivalent to
get authDomain #filter
setAuthDomainFilter :: (MonadIO m, IsAuthDomain o) => o -> FunPtr C_AuthDomainFilter -> m () Source #
Set the value of the “filter” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #filter:=value ]
filterData
No description available in the introspection data.
constructAuthDomainFilterData :: IsAuthDomain o => Ptr () -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “filter-data” property. This is rarely needed directly, but it is used by new.
getAuthDomainFilterData :: (MonadIO m, IsAuthDomain o) => o -> m (Ptr ()) Source #
Get the value of the “filter-data” property.
When overloading is enabled, this is equivalent to
get authDomain #filterData
setAuthDomainFilterData :: (MonadIO m, IsAuthDomain o) => o -> Ptr () -> m () Source #
Set the value of the “filter-data” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #filterData:=value ]
genericAuthCallback
The AuthDomainGenericAuthCallback for the domain
clearAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> m () Source #
Set the value of the “generic-auth-callback” property to Nothing.
When overloading is enabled, this is equivalent to
clear #genericAuthCallback
constructAuthDomainGenericAuthCallback :: IsAuthDomain o => FunPtr C_AuthDomainGenericAuthCallback -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “generic-auth-callback” property. This is rarely needed directly, but it is used by new.
getAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> m (Maybe AuthDomainGenericAuthCallback_WithClosures) Source #
Get the value of the “generic-auth-callback” property.
When overloading is enabled, this is equivalent to
get authDomain #genericAuthCallback
setAuthDomainGenericAuthCallback :: (MonadIO m, IsAuthDomain o) => o -> FunPtr C_AuthDomainGenericAuthCallback -> m () Source #
Set the value of the “generic-auth-callback” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #genericAuthCallback:=value ]
genericAuthData
No description available in the introspection data.
constructAuthDomainGenericAuthData :: IsAuthDomain o => Ptr () -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “generic-auth-data” property. This is rarely needed directly, but it is used by new.
getAuthDomainGenericAuthData :: (MonadIO m, IsAuthDomain o) => o -> m (Ptr ()) Source #
Get the value of the “generic-auth-data” property.
When overloading is enabled, this is equivalent to
get authDomain #genericAuthData
setAuthDomainGenericAuthData :: (MonadIO m, IsAuthDomain o) => o -> Ptr () -> m () Source #
Set the value of the “generic-auth-data” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #genericAuthData:=value ]
proxy
No description available in the introspection data.
constructAuthDomainProxy :: IsAuthDomain o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “proxy” property. This is rarely needed directly, but it is used by new.
getAuthDomainProxy :: (MonadIO m, IsAuthDomain o) => o -> m Bool Source #
Get the value of the “proxy” property.
When overloading is enabled, this is equivalent to
get authDomain #proxy
realm
No description available in the introspection data.
constructAuthDomainRealm :: IsAuthDomain 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.
getAuthDomainRealm :: (MonadIO m, IsAuthDomain o) => o -> m Text Source #
Get the value of the “realm” property.
When overloading is enabled, this is equivalent to
get authDomain #realm
removePath
No description available in the introspection data.
clearAuthDomainRemovePath :: (MonadIO m, IsAuthDomain o) => o -> m () Source #
Set the value of the “remove-path” property to Nothing.
When overloading is enabled, this is equivalent to
clear #removePath
constructAuthDomainRemovePath :: IsAuthDomain o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “remove-path” property. This is rarely needed directly, but it is used by new.
setAuthDomainRemovePath :: (MonadIO m, IsAuthDomain o) => o -> Text -> m () Source #
Set the value of the “remove-path” property.
When overloading is enabled, this is equivalent to
setauthDomain [ #removePath:=value ]