- Qt 6.8
- Qt Network
- C++ Classes
- QHstsPolicy
- Qt 6.8.3 Reference Documentation

# QHstsPolicy Class

The QHstsPolicy class specifies that a host supports HTTP Strict Transport Security policy (HSTS). More...

Header: | `#include <QHstsPolicy>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Network)` `target_link_libraries(mytarget PRIVATE Qt6::Network)`
qmake: | `QT += network`

- List of all members, including inherited members
- QHstsPolicy is part of Network Programming API.

## Public Types

enum | PolicyFlag { IncludeSubDomains }
flags | PolicyFlags

## Public Functions

| QHstsPolicy()
| QHstsPolicy(const QDateTime &expiry, QHstsPolicy::PolicyFlags flags, const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)
| QHstsPolicy(const QHstsPolicy &other)
| ~QHstsPolicy()
QDateTime | expiry() const
QString | host(QUrl::ComponentFormattingOptions options = QUrl::FullyDecoded) const
bool | includesSubDomains() const
bool | isExpired() const
void | setExpiry(const QDateTime &expiry)
void | setHost(const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)
void | setIncludesSubDomains(bool include)
void | swap(QHstsPolicy &other)
QHstsPolicy & | operator=(const QHstsPolicy &other)

## Related Non-Members

bool | operator!=(const QHstsPolicy &lhs, const QHstsPolicy &rhs)
bool | operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

## Detailed Description

HSTS policy defines a period of time during which QNetworkAccessManager should only access a host in a secure fashion. HSTS policy is defined by RFC6797.

You can set expiry time and host name for this policy, and control whether it applies to subdomains, either in the constructor or by calling setExpiry(), setHost() and setIncludesSubDomains().

See also QNetworkAccessManager::setStrictTransportSecurityEnabled().

## Member Type Documentation

### enum QHstsPolicy::PolicyFlag
flags QHstsPolicy::PolicyFlags

Constant | Value | Description
--- | --- | ---
`QHstsPolicy::IncludeSubDomains` | `1` | Indicates whether a policy must include subdomains

The PolicyFlags type is a typedef for QFlags<PolicyFlag>. It stores an OR combination of PolicyFlag values.

## Member Function Documentation

### QHstsPolicy::QHstsPolicy()

Constructs an invalid (expired) policy with empty host name and subdomains not included.

### QHstsPolicy::QHstsPolicy(const QDateTime &expiry, QHstsPolicy::PolicyFlags flags, const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)

Constructs QHstsPolicy with expiry (in UTC); flags is a value indicating whether this policy must also include subdomains, host data is interpreted according to mode.

See also QUrl::setHost(), QUrl::ParsingMode, and QHstsPolicy::PolicyFlag.

### QHstsPolicy::QHstsPolicy(const QHstsPolicy &other)

Creates a copy of other object.

### `[noexcept]` QHstsPolicy::~QHstsPolicy()

Destructor.

### QDateTime QHstsPolicy::expiry() const

Returns the expiration date for the policy (in UTC).

See also setExpiry().

### QString QHstsPolicy::host(QUrl::ComponentFormattingOptions options = QUrl::FullyDecoded) const

Returns a host for a given policy, formatted according to options.

See also setHost(), QUrl::host(), and QUrl::ComponentFormattingOptions.

### bool QHstsPolicy::includesSubDomains() const

Returns `true` if this policy also includes subdomains.

See also setIncludesSubDomains().

### bool QHstsPolicy::isExpired() const

Return `true` if this policy has a valid expiration date and this date is greater than QDateTime::currentGetDateTimeUtc().

See also setExpiry() and expiry().

### void QHstsPolicy::setExpiry(const QDateTime &expiry)

Sets the expiration date for the policy (in UTC) to expiry.

See also expiry().

### void QHstsPolicy::setHost(const QString &host, QUrl::ParsingMode mode = QUrl::DecodedMode)

Sets a host, host data is interpreted according to mode parameter.

See also host(), QUrl::setHost(), and QUrl::ParsingMode.

### void QHstsPolicy::setIncludesSubDomains(bool include)

Sets whether subdomains are included for this policy to include.

See also includesSubDomains().

### `[noexcept]` void QHstsPolicy::swap(QHstsPolicy &other)

Swaps this policy with other. This operation is very fast and never fails.

### QHstsPolicy &QHstsPolicy::operator=(const QHstsPolicy &other)

Copy-assignment operator, makes a copy of other.

## Related Non-Members

### bool operator!=(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

Returns `true` if the two policies lhs and rhs do not have the same host or expiration date, or do not agree on whether to include or exclude subdomains.

### bool operator==(const QHstsPolicy &lhs, const QHstsPolicy &rhs)

Returns `true` if the two policies lhs and rhs have the same host and expiration date while agreeing on whether to include or exclude subdomains.