54 const QNetworkRequest request =
getNetworkRequest(spec.mapId(), spec.x(), spec.y(), spec.zoom());
106 return QNetworkRequest();
109 QNetworkRequest request;
110 request.setUrl(mapProvider->getTileURL(x, y, zoom));
111 request.setPriority(QNetworkRequest::NormalPriority);
112 request.setTransferTimeout(10000);
116 request.setRawHeader(QByteArrayLiteral(
"Accept"), QByteArrayLiteral(
"*/*"));
117 request.setHeader(QNetworkRequest::UserAgentHeader, s_userAgent);
118 const QByteArray referrer = mapProvider->getReferrer().toUtf8();
119 if (!referrer.isEmpty()) {
120 request.setRawHeader(QByteArrayLiteral(
"Referer"), referrer);
122 const QByteArray token = mapProvider->getToken();
123 if (!token.isEmpty()) {
124 request.setRawHeader(QByteArrayLiteral(
"User-Token"), token);
126 request.setRawHeader(QByteArrayLiteral(
"Connection"), QByteArrayLiteral(
"keep-alive"));
127 request.setAttribute(QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute, kConnectionCacheExpirySecs);
128 request.setTcpKeepAliveIdleTimeBeforeProbes(kTcpKeepAliveIdle);
129 request.setTcpKeepAliveIntervalBetweenProbes(kTcpKeepAliveInterval);
130 request.setTcpKeepAliveProbeCount(kTcpKeepAliveProbeCount);
134 request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
135 request.setAttribute(QNetworkRequest::BackgroundRequestAttribute,
true);
136 request.setAttribute(QNetworkRequest::CacheSaveControlAttribute,
true);
137 request.setAttribute(QNetworkRequest::RedirectPolicyAttribute, QNetworkRequest::NoLessSafeRedirectPolicy);
138 request.setAttribute(QNetworkRequest::Http2AllowedAttribute,
true);
139 request.setAttribute(QNetworkRequest::DoNotBufferUploadDataAttribute,
false);