Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
GI.Soup.Structs.HSTSPolicy
Description
HSTSPolicy
implements HTTP policies, as described by
RFC 6797.
domain
represents the host that this policy applies to. The domain
must be IDNA-canonicalized. [ctorhSTSPolicy
.new] and related methods
will do this for you.
maxAge
contains the 'max-age' value from the Strict Transport
Security header and indicates the time to live of this policy,
in seconds.
expires
will be non-Nothing
if the policy has been set by the host and
hence has an expiry time. If expires
is Nothing
, it indicates that the
policy is a permanent session policy set by the user agent.
If includeSubdomains
is True
, the Strict Transport Security policy
must also be enforced on subdomains of domain
.
Synopsis
- newtype HSTSPolicy = HSTSPolicy (ManagedPtr HSTSPolicy)
- type family ResolveHSTSPolicyMethod (t :: Symbol) o where ...
- data HSTSPolicyCopyMethodInfo
- hSTSPolicyCopy :: (HasCallStack, MonadIO m) => HSTSPolicy -> m HSTSPolicy
- data HSTSPolicyEqualMethodInfo
- hSTSPolicyEqual :: (HasCallStack, MonadIO m) => HSTSPolicy -> HSTSPolicy -> m Bool
- data HSTSPolicyFreeMethodInfo
- hSTSPolicyFree :: (HasCallStack, MonadIO m) => HSTSPolicy -> m ()
- data HSTSPolicyGetDomainMethodInfo
- hSTSPolicyGetDomain :: (HasCallStack, MonadIO m) => HSTSPolicy -> m Text
- data HSTSPolicyGetExpiresMethodInfo
- hSTSPolicyGetExpires :: (HasCallStack, MonadIO m) => HSTSPolicy -> m DateTime
- data HSTSPolicyGetMaxAgeMethodInfo
- hSTSPolicyGetMaxAge :: (HasCallStack, MonadIO m) => HSTSPolicy -> m CULong
- data HSTSPolicyIncludesSubdomainsMethodInfo
- hSTSPolicyIncludesSubdomains :: (HasCallStack, MonadIO m) => HSTSPolicy -> m Bool
- data HSTSPolicyIsExpiredMethodInfo
- hSTSPolicyIsExpired :: (HasCallStack, MonadIO m) => HSTSPolicy -> m Bool
- data HSTSPolicyIsSessionPolicyMethodInfo
- hSTSPolicyIsSessionPolicy :: (HasCallStack, MonadIO m) => HSTSPolicy -> m Bool
- hSTSPolicyNew :: (HasCallStack, MonadIO m) => Text -> CULong -> Bool -> m HSTSPolicy
- hSTSPolicyNewFromResponse :: (HasCallStack, MonadIO m, IsMessage a) => a -> m (Maybe HSTSPolicy)
- hSTSPolicyNewFull :: (HasCallStack, MonadIO m) => Text -> CULong -> DateTime -> Bool -> m HSTSPolicy
- hSTSPolicyNewSessionPolicy :: (HasCallStack, MonadIO m) => Text -> Bool -> m HSTSPolicy
Exported types
newtype HSTSPolicy Source #
Memory-managed wrapper type.
Constructors
HSTSPolicy (ManagedPtr HSTSPolicy) |
Instances
Methods
Click to display all available methods, including inherited ones
Methods
copy, equal, free, includesSubdomains, isExpired, isSessionPolicy.
Getters
getDomain, getExpires, getMaxAge.
Setters
None.
type family ResolveHSTSPolicyMethod (t :: Symbol) o where ... Source #
Equations
ResolveHSTSPolicyMethod "copy" o = HSTSPolicyCopyMethodInfo | |
ResolveHSTSPolicyMethod "equal" o = HSTSPolicyEqualMethodInfo | |
ResolveHSTSPolicyMethod "free" o = HSTSPolicyFreeMethodInfo | |
ResolveHSTSPolicyMethod "includesSubdomains" o = HSTSPolicyIncludesSubdomainsMethodInfo | |
ResolveHSTSPolicyMethod "isExpired" o = HSTSPolicyIsExpiredMethodInfo | |
ResolveHSTSPolicyMethod "isSessionPolicy" o = HSTSPolicyIsSessionPolicyMethodInfo | |
ResolveHSTSPolicyMethod "getDomain" o = HSTSPolicyGetDomainMethodInfo | |
ResolveHSTSPolicyMethod "getExpires" o = HSTSPolicyGetExpiresMethodInfo | |
ResolveHSTSPolicyMethod "getMaxAge" o = HSTSPolicyGetMaxAgeMethodInfo | |
ResolveHSTSPolicyMethod l o = MethodResolutionFailed l o :: Type |
copy
data HSTSPolicyCopyMethodInfo Source #
Instances
(signature ~ m HSTSPolicy, MonadIO m) => OverloadedMethod HSTSPolicyCopyMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyCopyMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m HSTSPolicy | Returns: a copy of |
Copies policy
.
equal
data HSTSPolicyEqualMethodInfo Source #
Instances
(signature ~ (HSTSPolicy -> m Bool), MonadIO m) => OverloadedMethod HSTSPolicyEqualMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyEqualMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> HSTSPolicy |
|
-> m Bool | Returns: whether the policies are equal. |
Tests if policy1
and policy2
are equal.
free
data HSTSPolicyFreeMethodInfo Source #
Instances
(signature ~ m (), MonadIO m) => OverloadedMethod HSTSPolicyFreeMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyFreeMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m () |
Frees policy
.
getDomain
data HSTSPolicyGetDomainMethodInfo Source #
Instances
(signature ~ m Text, MonadIO m) => OverloadedMethod HSTSPolicyGetDomainMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyGetDomainMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m Text | Returns: |
Gets policy
's domain.
getExpires
data HSTSPolicyGetExpiresMethodInfo Source #
Instances
(signature ~ m DateTime, MonadIO m) => OverloadedMethod HSTSPolicyGetExpiresMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyGetExpiresMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m DateTime |
Returns the expiration date for policy
.
getMaxAge
data HSTSPolicyGetMaxAgeMethodInfo Source #
Instances
(signature ~ m CULong, MonadIO m) => OverloadedMethod HSTSPolicyGetMaxAgeMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyGetMaxAgeMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m CULong | Returns: Max age in seconds |
Returns the max age for policy
.
includesSubdomains
data HSTSPolicyIncludesSubdomainsMethodInfo Source #
Instances
(signature ~ m Bool, MonadIO m) => OverloadedMethod HSTSPolicyIncludesSubdomainsMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyIncludesSubdomainsMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
hSTSPolicyIncludesSubdomains Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m Bool | Returns: |
Gets whether policy
include its subdomains.
isExpired
data HSTSPolicyIsExpiredMethodInfo Source #
Instances
(signature ~ m Bool, MonadIO m) => OverloadedMethod HSTSPolicyIsExpiredMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyIsExpiredMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m Bool |
Gets whether policy
is expired.
Permanent policies never expire.
isSessionPolicy
data HSTSPolicyIsSessionPolicyMethodInfo Source #
Instances
(signature ~ m Bool, MonadIO m) => OverloadedMethod HSTSPolicyIsSessionPolicyMethodInfo HSTSPolicy signature Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods overloadedMethod :: HSTSPolicy -> signature # | |
OverloadedMethodInfo HSTSPolicyIsSessionPolicyMethodInfo HSTSPolicy Source # | |
Defined in GI.Soup.Structs.HSTSPolicy Methods |
hSTSPolicyIsSessionPolicy Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> HSTSPolicy |
|
-> m Bool |
Gets whether policy
is a non-permanent, non-expirable session policy.
See [ctorhSTSPolicy
.new_session_policy] for details.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> CULong |
|
-> Bool |
|
-> m HSTSPolicy | Returns: a new |
Creates a new HSTSPolicy
with the given attributes.
domain
is a domain on which the strict transport security policy
represented by this object must be enforced.
maxAge
is used to set the "expires" attribute on the policy; pass
HSTS_POLICY_MAX_AGE_PAST
for an already-expired policy, or a
lifetime in seconds.
If includeSubdomains
is True
, the strict transport security policy
must also be enforced on all subdomains of domain
.
newFromResponse
hSTSPolicyNewFromResponse Source #
Arguments
:: (HasCallStack, MonadIO m, IsMessage a) | |
=> a |
|
-> m (Maybe HSTSPolicy) | Returns: a new |
Parses msg
's first "Strict-Transport-Security" response header and
returns a HSTSPolicy
.
newFull
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> CULong |
|
-> DateTime |
|
-> Bool |
|
-> m HSTSPolicy | Returns: a new |
Full version of [ctorhSTSPolicy
.new], to use with an existing
expiration date.
See [ctorhSTSPolicy
.new] for details.
newSessionPolicy
hSTSPolicyNewSessionPolicy Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> Bool |
|
-> m HSTSPolicy | Returns: a new |
Creates a new session HSTSPolicy
with the given attributes.
A session policy is a policy that is valid during the lifetime of
the [classhSTSEnforcer
] it is added to. Contrary to regular policies,
it has no expiration date and is not stored in persistent
enforcers. These policies are useful for user-agent to load their
own or user-defined rules.
domain
is a domain on which the strict transport security policy
represented by this object must be enforced.
If includeSubdomains
is True
, the strict transport security policy
must also be enforced on all subdomains of domain
.