Automatic HTTP Strict Transport Security enforcing for [class@Session].
A HSTSEnforcer stores HSTS policies and enforces them when required. HSTSEnforcer
implements [iface@SessionFeature], so you can add an HSTS enforcer to a session with [[email protected]_feature] or [
[email protected]_feature_by_type].
HSTSEnforcer keeps track of all the HTTPS destinations that, when connected to, return the
Strict-Transport-Security header with valid values. HSTSEnforcer will forget those destinations upon expiry or
when the server requests it.
When the [class@Session] the HSTSEnforcer is attached to queues or restarts a message, the
HSTSEnforcer 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 HSTSEnforcer 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 HSTSEnforcer does not support any form of long-term HSTS policy persistence. See [
class@HSTSEnforcerDB] for a persistent enforcer.