HstsEnforcer

open class HstsEnforcer(val soupHstsEnforcerPointer: <Error class: unknown class><<Error class: unknown class>>) : SessionFeature(source)

Automatic HTTP Strict Transport Security enforcing for class@Session.

A #SoupHSTSEnforcer stores HSTS policies and enforces them when required. #SoupHSTSEnforcer implements iface@SessionFeature, so you can add an HSTS enforcer to a session with method@Session.add_feature or method@Session.add_feature_by_type.

#SoupHSTSEnforcer keeps track of all the HTTPS destinations that, when connected to, return the Strict-Transport-Security header with valid values. #SoupHSTSEnforcer will forget those destinations upon expiry or when the server requests it.

When the class@Session the #SoupHSTSEnforcer is attached to queues or restarts a message, the #SoupHSTSEnforcer will rewrite the URI to HTTPS if the destination is a known HSTS host and is contacted over an insecure transport protocol (HTTP). Users of #SoupHSTSEnforcer are advised to listen to changes in the property@Message:uri property in order to be aware of changes in the message URI.

Note that #SoupHSTSEnforcer does not support any form of long-term HSTS policy persistence. See class@HSTSEnforcerDB for a persistent enforcer.

Inheritors

Constructors

Link copied to clipboard
constructor()

Creates a new #SoupHSTSEnforcer.

constructor(soupHstsEnforcerPointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val soupHstsEnforcerPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open override val soupSessionFeaturePointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
fun emitChanged(oldPolicy: HstsPolicy, newPolicy: HstsPolicy)

Emits the "changed" signal. See onChanged.

Link copied to clipboard
open fun getDomains(sessionPolicies: Boolean): <Error class: unknown class>

Gets a list of domains for which there are policies in @enforcer.

Link copied to clipboard
open fun getPolicies(sessionPolicies: Boolean): <Error class: unknown class>

Gets a list with the policies in @enforcer.

Link copied to clipboard
open fun hasValidPolicy(domain: String): Boolean

Gets whether @hsts_enforcer has a currently valid policy for @domain.

Link copied to clipboard
open fun isPersistent(): Boolean

Gets whether @hsts_enforcer stores policies persistenly.

Link copied to clipboard
fun onChanged(    connectFlags: <Error class: unknown class> = ConnectFlags(0u),     handler: (oldPolicy: HstsPolicy, newPolicy: HstsPolicy) -> Unit): <Error class: unknown class>

Emitted when @hsts_enforcer changes.

Link copied to clipboard
open fun setPolicy(policy: HstsPolicy)

Sets @policy to @hsts_enforcer.

Link copied to clipboard
open fun setSessionPolicy(domain: String, includeSubdomains: Boolean)

Sets a session policy for @domain.