QHttpServerConfiguration Class
The QHttpServerConfiguration class controls server parameters. More...
| Header: | #include <QHttpServerConfiguration> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS HttpServer)target_link_libraries(mytarget PRIVATE Qt6::HttpServer) |
| qmake: | QT += httpserver |
| Since: | Qt 6.9 |
Public Functions
| QHttpServerConfiguration() | |
| QHttpServerConfiguration(const QHttpServerConfiguration &other) | |
| QHttpServerConfiguration(QHttpServerConfiguration &&other) | |
| ~QHttpServerConfiguration() | |
(since 6.10) QSpan<const std::pair<QHostAddress, int>> | blacklist() const |
(since 6.10) std::chrono::seconds | keepAliveTimeout() const |
(since 6.11) qint64 | maxBodySize() const |
(since 6.11) qint64 | maxHeaderFieldSize() const |
(since 6.11) qint64 | maxNumberOfHeaderFields() const |
(since 6.11) qint64 | maxTotalHeaderSize() const |
(since 6.11) qint64 | maxUrlSize() const |
| quint32 | rateLimitPerSecond() const |
(since 6.10) void | setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList) |
(since 6.10) void | setKeepAliveTimeout(std::chrono::seconds timeout) |
(since 6.11) void | setMaxBodySize(qint64 maxSize) |
(since 6.11) void | setMaxHeaderFieldSize(qint64 maxSize) |
(since 6.11) void | setMaxNumberOfHeaderFields(qint64 maxSize) |
(since 6.11) void | setMaxTotalHeaderSize(qint64 maxSize) |
(since 6.11) void | setMaxUrlSize(qint64 maxSize) |
| void | setRateLimitPerSecond(quint32 maxRequests) |
(since 6.10) void | setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList) |
| void | swap(QHttpServerConfiguration &other) |
(since 6.10) QSpan<const std::pair<QHostAddress, int>> | whitelist() const |
| QHttpServerConfiguration & | operator=(QHttpServerConfiguration &&other) |
| QHttpServerConfiguration & | operator=(const QHttpServerConfiguration &other) |
Related Non-Members
| bool | operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
| bool | operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs) |
Member Function Documentation
QHttpServerConfiguration::QHttpServerConfiguration()
Default constructs a QHttpServerConfiguration object.
Such a configuration has the following values:
- Rate limit is disabled
QHttpServerConfiguration::QHttpServerConfiguration(const QHttpServerConfiguration &other)
Copy-constructs this QHttpServerConfiguration.
[constexpr noexcept] QHttpServerConfiguration::QHttpServerConfiguration(QHttpServerConfiguration &&other)
Move-constructs this QHttpServerConfiguration from other
[noexcept] QHttpServerConfiguration::~QHttpServerConfiguration()
Destructor.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::blacklist() const
Returns the blacklist of subnets that are denied access by QHttpServer.
This function was introduced in Qt 6.10.
See also setBlacklist().
[since 6.10] std::chrono::seconds QHttpServerConfiguration::keepAliveTimeout() const
Returns the keep-alive timeout used by QHttpServer.
This function was introduced in Qt 6.10.
See also setKeepAliveTimeout().
[since 6.11] qint64 QHttpServerConfiguration::maxBodySize() const
Returns maximum size of the incoming body accepted by the server.
This function was introduced in Qt 6.11.
See also setMaxBodySize().
[since 6.11] qint64 QHttpServerConfiguration::maxHeaderFieldSize() const
Returns maximum size of the incoming headers accepted by the server.
This function was introduced in Qt 6.11.
See also setMaxHeaderFieldSize().
[since 6.11] qint64 QHttpServerConfiguration::maxNumberOfHeaderFields() const
Returns maximum number of incoming headers accepted by the server.
This function was introduced in Qt 6.11.
See also setMaxNumberOfHeaderFields().
[since 6.11] qint64 QHttpServerConfiguration::maxTotalHeaderSize() const
Returns maximum size of the total incoming headers accepted by the server.
This function was introduced in Qt 6.11.
See also setMaxTotalHeaderSize().
[since 6.11] qint64 QHttpServerConfiguration::maxUrlSize() const
Returns maximum size of the URL accepted by the server.
This function was introduced in Qt 6.11.
See also setMaxUrlSize().
quint32 QHttpServerConfiguration::rateLimitPerSecond() const
Returns maximum number of incoming requests per second per IP accepted by the server.
See also setRateLimitPerSecond().
[since 6.10] void QHttpServerConfiguration::setBlacklist(QSpan<const std::pair<QHostAddress, int>> subnetList)
Sets subnetList as the blacklist of subnets.
IP addresses in this list will be denied access by QHttpServer. The blacklist is active only when the whitelist is empty.
This function was introduced in Qt 6.10.
See also blacklist(), setWhitelist(), and QHostAddress::parseSubnet().
[since 6.10] void QHttpServerConfiguration::setKeepAliveTimeout(std::chrono::seconds timeout)
Sets timeout as keep-alive timeout for QHttpServer.
The keep-alive timeout determines how long an idle connection is kept open before being closed. By default, the timeout is set to 15 seconds.
This function was introduced in Qt 6.10.
See also keepAliveTimeout().
[since 6.11] void QHttpServerConfiguration::setMaxBodySize(qint64 maxSize)
Sets maxSize as the maximum size of the body that the server will accept. If the limit is exceeded, QHttpServer will respond with status 413 Content Too Large. If maxSize is -1 there is no limit. The default is 32 MiB.
This function was introduced in Qt 6.11.
See also maxBodySize() and QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaxHeaderFieldSize(qint64 maxSize)
Sets maxSize as the maximum size of a single header that the server will accept. If the limit is exceeded, QHttpServer will respond with status 431 Request Header Fields Too Large. If maxSize is -1 there is no limit. The default is 48 KiB.
This function was introduced in Qt 6.11.
See also maxHeaderFieldSize() and QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaxNumberOfHeaderFields(qint64 maxSize)
Sets maxSize as the maximum number of headers that the server will accept. If the limit is exceeded, QHttpServer will respond with status 431 Request Header Fields Too Large. If maxSize is -1 there is no limit. The default is 128.
This function was introduced in Qt 6.11.
See also maxNumberOfHeaderFields() and QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaxTotalHeaderSize(qint64 maxSize)
Sets maxSize as the maximum total size of the headers that the server will accept. If the limit is exceeded, QHttpServer will respond with status 431 Request Header Fields Too Large. If maxSize is -1 there is no limit. The default is 64 KiB.
This function was introduced in Qt 6.11.
See also maxTotalHeaderSize() and QHttpServerResponder::StatusCode.
[since 6.11] void QHttpServerConfiguration::setMaxUrlSize(qint64 maxSize)
Sets maxSize as the maximum size of the URL that the server will accept. If the limit is exceeded, QHttpServer will respond with status 414 Request-URI Too Long. If maxSize is -1 there is no limit. The default is 64 KiB.
This function was introduced in Qt 6.11.
See also maxUrlSize() and QHttpServerResponder::StatusCode.
void QHttpServerConfiguration::setRateLimitPerSecond(quint32 maxRequests)
Sets maxRequests as the maximum number of incoming requests per second per IP that will be accepted by QHttpServer. If the limit is exceeded, QHttpServer will respond with QHttpServerResponder::StatusCode::TooManyRequests.
See also rateLimitPerSecond() and QHttpServerResponder::StatusCode.
[since 6.10] void QHttpServerConfiguration::setWhitelist(QSpan<const std::pair<QHostAddress, int>> subnetList)
Sets subnetList as the whitelist of allowed subnets.
When the list is not empty, only IP addresses in this list will be allowed by QHttpServer. The whitelist takes priority over the blacklist.
Each subnet is represented as a pair consisting of:
- A base IP address of type QHostAddress.
- A CIDR prefix length of type int, which defines the subnet mask.
To allow only a specific IP address, use a prefix length of 32 for IPv4 (e.g., "192.168.1.100/32") or 128 for IPv6 (e.g., "2001:db8::1/128").
This function was introduced in Qt 6.10.
See also whitelist(), setBlacklist(), and QHostAddress::parseSubnet().
[noexcept] void QHttpServerConfiguration::swap(QHttpServerConfiguration &other)
Swaps this configuration with other. This operation is very fast and never fails.
[since 6.10] QSpan<const std::pair<QHostAddress, int>> QHttpServerConfiguration::whitelist() const
Returns the whitelist of subnets allowed by QHttpServer.
This function was introduced in Qt 6.10.
See also setWhitelist().
[noexcept] QHttpServerConfiguration &QHttpServerConfiguration::operator=(QHttpServerConfiguration &&other)
Move-assigns other to this QHttpServerConfiguration.
QHttpServerConfiguration &QHttpServerConfiguration::operator=(const QHttpServerConfiguration &other)
Copy-assigns other to this QHttpServerConfiguration.
Related Non-Members
[noexcept] bool operator!=(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
Returns true if lhs and rhs do not have the same set of configuration parameters.
[noexcept] bool operator==(const QHttpServerConfiguration &lhs, const QHttpServerConfiguration &rhs)
Returns true if lhs and rhs have the same set of configuration parameters.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.