Line | Source Code | Coverage |
---|
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | class QNetworkRequestPrivate: public QSharedData, public QNetworkHeadersPrivate | - |
9 | { | - |
10 | public: | - |
11 | inline QNetworkRequestPrivate() | - |
12 | : priority(QNetworkRequest::NormalPriority) | - |
13 | | - |
14 | , sslConfiguration(0) | - |
15 | | - |
16 | { qRegisterMetaType<QNetworkRequest>(); } executed: } Execution Count:1694 | 1694 |
17 | ~QNetworkRequestPrivate() | - |
18 | { | - |
19 | | - |
20 | delete sslConfiguration; | - |
21 | | - |
22 | } executed: } Execution Count:1911 | 1911 |
23 | | - |
24 | | - |
25 | QNetworkRequestPrivate(const QNetworkRequestPrivate &other) | - |
26 | : QSharedData(other), QNetworkHeadersPrivate(other) | - |
27 | { | - |
28 | url = other.url; | - |
29 | priority = other.priority; | - |
30 | | - |
31 | | - |
32 | sslConfiguration = 0; | - |
33 | if (other.sslConfiguration) evaluated: other.sslConfiguration yes Evaluation Count:95 | yes Evaluation Count:122 |
| 95-122 |
34 | sslConfiguration = new QSslConfiguration(*other.sslConfiguration); executed: sslConfiguration = new QSslConfiguration(*other.sslConfiguration); Execution Count:95 | 95 |
35 | | - |
36 | } executed: } Execution Count:217 | 217 |
37 | | - |
38 | inline bool operator==(const QNetworkRequestPrivate &other) const | - |
39 | { | - |
40 | return url == other.url && | 0 |
41 | priority == other.priority && | 0 |
42 | rawHeaders == other.rawHeaders && | 0 |
43 | attributes == other.attributes; never executed: return url == other.url && priority == other.priority && rawHeaders == other.rawHeaders && attributes == other.attributes; | 0 |
44 | | - |
45 | } | - |
46 | | - |
47 | QUrl url; | - |
48 | QNetworkRequest::Priority priority; | - |
49 | | - |
50 | mutable QSslConfiguration *sslConfiguration; | - |
51 | | - |
52 | }; | - |
53 | | - |
54 | | - |
55 | | - |
56 | | - |
57 | | - |
58 | | - |
59 | | - |
60 | QNetworkRequest::QNetworkRequest(const QUrl &url) | - |
61 | : d(new QNetworkRequestPrivate) | - |
62 | { | - |
63 | d->url = url; | - |
64 | } executed: } Execution Count:1694 | 1694 |
65 | | - |
66 | | - |
67 | | - |
68 | | - |
69 | QNetworkRequest::QNetworkRequest(const QNetworkRequest &other) | - |
70 | : d(other.d) | - |
71 | { | - |
72 | } executed: } Execution Count:929 | 929 |
73 | | - |
74 | | - |
75 | | - |
76 | | - |
77 | QNetworkRequest::~QNetworkRequest() | - |
78 | { | - |
79 | | - |
80 | d = 0; | - |
81 | } executed: } Execution Count:2623 | 2623 |
82 | | - |
83 | | - |
84 | | - |
85 | | - |
86 | | - |
87 | | - |
88 | | - |
89 | bool QNetworkRequest::operator==(const QNetworkRequest &other) const | - |
90 | { | - |
91 | return d == other.d || *d == *other.d; executed: return d == other.d || *d == *other.d; Execution Count:1 | 1 |
92 | } | - |
93 | QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other) | - |
94 | { | - |
95 | d = other.d; | - |
96 | return *this; executed: return *this; Execution Count:874 | 874 |
97 | } | - |
98 | QUrl QNetworkRequest::url() const | - |
99 | { | - |
100 | return d->url; executed: return d->url; Execution Count:5035 | 5035 |
101 | } | - |
102 | | - |
103 | | - |
104 | | - |
105 | | - |
106 | | - |
107 | | - |
108 | void QNetworkRequest::setUrl(const QUrl &url) | - |
109 | { | - |
110 | d->url = url; | - |
111 | } executed: } Execution Count:24 | 24 |
112 | QVariant QNetworkRequest::header(KnownHeaders header) const | - |
113 | { | - |
114 | return d->cookedHeaders.value(header); executed: return d->cookedHeaders.value(header); Execution Count:889 | 889 |
115 | } | - |
116 | void QNetworkRequest::setHeader(KnownHeaders header, const QVariant &value) | - |
117 | { | - |
118 | d->setCookedHeader(header, value); | - |
119 | } executed: } Execution Count:182 | 182 |
120 | | - |
121 | | - |
122 | | - |
123 | | - |
124 | | - |
125 | | - |
126 | | - |
127 | bool QNetworkRequest::hasRawHeader(const QByteArray &headerName) const | - |
128 | { | - |
129 | return d->findRawHeader(headerName) != d->rawHeaders.constEnd(); executed: return d->findRawHeader(headerName) != d->rawHeaders.constEnd(); Execution Count:605 | 605 |
130 | } | - |
131 | QByteArray QNetworkRequest::rawHeader(const QByteArray &headerName) const | - |
132 | { | - |
133 | QNetworkHeadersPrivate::RawHeadersList::ConstIterator it = | - |
134 | d->findRawHeader(headerName); | - |
135 | if (it != d->rawHeaders.constEnd()) evaluated: it != d->rawHeaders.constEnd() yes Evaluation Count:352 | yes Evaluation Count:4 |
| 4-352 |
136 | return it->second; executed: return it->second; Execution Count:352 | 352 |
137 | return QByteArray(); executed: return QByteArray(); Execution Count:4 | 4 |
138 | } | - |
139 | | - |
140 | | - |
141 | | - |
142 | | - |
143 | | - |
144 | | - |
145 | | - |
146 | QList<QByteArray> QNetworkRequest::rawHeaderList() const | - |
147 | { | - |
148 | return d->rawHeadersKeys(); executed: return d->rawHeadersKeys(); Execution Count:712 | 712 |
149 | } | - |
150 | void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue) | - |
151 | { | - |
152 | d->setRawHeader(headerName, headerValue); | - |
153 | } executed: } Execution Count:197 | 197 |
154 | QVariant QNetworkRequest::attribute(Attribute code, const QVariant &defaultValue) const | - |
155 | { | - |
156 | return d->attributes.value(code, defaultValue); executed: return d->attributes.value(code, defaultValue); Execution Count:6336 | 6336 |
157 | } | - |
158 | void QNetworkRequest::setAttribute(Attribute code, const QVariant &value) | - |
159 | { | - |
160 | if (value.isValid()) partially evaluated: value.isValid() yes Evaluation Count:195 | no Evaluation Count:0 |
| 0-195 |
161 | d->attributes.insert(code, value); executed: d->attributes.insert(code, value); Execution Count:195 | 195 |
162 | else | - |
163 | d->attributes.remove(code); never executed: d->attributes.remove(code); | 0 |
164 | } | - |
165 | QSslConfiguration QNetworkRequest::sslConfiguration() const | - |
166 | { | - |
167 | if (!d->sslConfiguration) evaluated: !d->sslConfiguration yes Evaluation Count:645 | yes Evaluation Count:244 |
| 244-645 |
168 | d->sslConfiguration = new QSslConfiguration(QSslConfiguration::defaultConfiguration()); executed: d->sslConfiguration = new QSslConfiguration(QSslConfiguration::defaultConfiguration()); Execution Count:645 | 645 |
169 | return *d->sslConfiguration; executed: return *d->sslConfiguration; Execution Count:889 | 889 |
170 | } | - |
171 | void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config) | - |
172 | { | - |
173 | if (!d->sslConfiguration) partially evaluated: !d->sslConfiguration yes Evaluation Count:44 | no Evaluation Count:0 |
| 0-44 |
174 | d->sslConfiguration = new QSslConfiguration(config); executed: d->sslConfiguration = new QSslConfiguration(config); Execution Count:44 | 44 |
175 | else | - |
176 | *d->sslConfiguration = config; never executed: *d->sslConfiguration = config; | 0 |
177 | } | - |
178 | void QNetworkRequest::setOriginatingObject(QObject *object) | - |
179 | { | - |
180 | d->originatingObject = object; | - |
181 | } executed: } Execution Count:1 | 1 |
182 | QObject *QNetworkRequest::originatingObject() const | - |
183 | { | - |
184 | return d->originatingObject.data(); executed: return d->originatingObject.data(); Execution Count:3 | 3 |
185 | } | - |
186 | QNetworkRequest::Priority QNetworkRequest::priority() const | - |
187 | { | - |
188 | return d->priority; executed: return d->priority; Execution Count:709 | 709 |
189 | } | - |
190 | void QNetworkRequest::setPriority(Priority priority) | - |
191 | { | - |
192 | d->priority = priority; | - |
193 | } | 0 |
194 | | - |
195 | static QByteArray headerName(QNetworkRequest::KnownHeaders header) | - |
196 | { | - |
197 | switch (header) { | - |
198 | case QNetworkRequest::ContentTypeHeader: | - |
199 | return "Content-Type"; executed: return "Content-Type"; Execution Count:86 | 86 |
200 | | - |
201 | case QNetworkRequest::ContentLengthHeader: | - |
202 | return "Content-Length"; executed: return "Content-Length"; Execution Count:214 | 214 |
203 | | - |
204 | case QNetworkRequest::LocationHeader: | - |
205 | return "Location"; executed: return "Location"; Execution Count:3 | 3 |
206 | | - |
207 | case QNetworkRequest::LastModifiedHeader: | - |
208 | return "Last-Modified"; executed: return "Last-Modified"; Execution Count:50 | 50 |
209 | | - |
210 | case QNetworkRequest::CookieHeader: | - |
211 | return "Cookie"; executed: return "Cookie"; Execution Count:11 | 11 |
212 | | - |
213 | case QNetworkRequest::SetCookieHeader: | - |
214 | return "Set-Cookie"; executed: return "Set-Cookie"; Execution Count:3 | 3 |
215 | | - |
216 | case QNetworkRequest::ContentDispositionHeader: | - |
217 | return "Content-Disposition"; executed: return "Content-Disposition"; Execution Count:30 | 30 |
218 | | - |
219 | case QNetworkRequest::UserAgentHeader: | - |
220 | return "User-Agent"; executed: return "User-Agent"; Execution Count:1 | 1 |
221 | | - |
222 | case QNetworkRequest::ServerHeader: | - |
223 | return "Server"; never executed: return "Server"; | 0 |
224 | | - |
225 | | - |
226 | | - |
227 | } | - |
228 | | - |
229 | return QByteArray(); never executed: return QByteArray(); | 0 |
230 | } | - |
231 | | - |
232 | static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVariant &value) | - |
233 | { | - |
234 | switch (header) { | - |
235 | case QNetworkRequest::ContentTypeHeader: | - |
236 | case QNetworkRequest::ContentLengthHeader: | - |
237 | case QNetworkRequest::ContentDispositionHeader: | - |
238 | case QNetworkRequest::UserAgentHeader: | - |
239 | case QNetworkRequest::ServerHeader: | - |
240 | return value.toByteArray(); executed: return value.toByteArray(); Execution Count:330 | 330 |
241 | | - |
242 | case QNetworkRequest::LocationHeader: | - |
243 | switch (value.userType()) { | - |
244 | case QMetaType::QUrl: | - |
245 | return value.toUrl().toEncoded(); executed: return value.toUrl().toEncoded(); Execution Count:1 | 1 |
246 | | - |
247 | default: | - |
248 | return value.toByteArray(); executed: return value.toByteArray(); Execution Count:2 | 2 |
249 | } | - |
250 | | - |
251 | case QNetworkRequest::LastModifiedHeader: code before this statement never executed: case QNetworkRequest::LastModifiedHeader: | 0 |
252 | switch (value.userType()) { | - |
253 | case QMetaType::QDate: | - |
254 | case QMetaType::QDateTime: | - |
255 | | - |
256 | return QNetworkHeadersPrivate::toHttpDate(value.toDateTime()); executed: return QNetworkHeadersPrivate::toHttpDate(value.toDateTime()); Execution Count:48 | 48 |
257 | | - |
258 | default: | - |
259 | return value.toByteArray(); never executed: return value.toByteArray(); | 0 |
260 | } | - |
261 | | - |
262 | case QNetworkRequest::CookieHeader: { | - |
263 | QList<QNetworkCookie> cookies = qvariant_cast<QList<QNetworkCookie> >(value); | - |
264 | if (cookies.isEmpty() && value.userType() == qMetaTypeId<QNetworkCookie>()) partially evaluated: cookies.isEmpty() no Evaluation Count:0 | yes Evaluation Count:11 |
never evaluated: value.userType() == qMetaTypeId<QNetworkCookie>() | 0-11 |
265 | cookies << qvariant_cast<QNetworkCookie>(value); never executed: cookies << qvariant_cast<QNetworkCookie>(value); | 0 |
266 | | - |
267 | QByteArray result; | - |
268 | bool first = true; | - |
269 | for (QForeachContainer<__typeof__(cookies)> _container_(cookies); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (const QNetworkCookie &cookie = *_container_.i;; __extension__ ({--_container_.brk; break;})) { | - |
270 | if (!first) evaluated: !first yes Evaluation Count:3 | yes Evaluation Count:11 |
| 3-11 |
271 | result += "; "; executed: result += "; "; Execution Count:3 | 3 |
272 | first = false; | - |
273 | result += cookie.toRawForm(QNetworkCookie::NameAndValueOnly); | - |
274 | } executed: } Execution Count:14 | 14 |
275 | return result; executed: return result; Execution Count:11 | 11 |
276 | } | - |
277 | | - |
278 | case QNetworkRequest::SetCookieHeader: { | - |
279 | QList<QNetworkCookie> cookies = qvariant_cast<QList<QNetworkCookie> >(value); | - |
280 | if (cookies.isEmpty() && value.userType() == qMetaTypeId<QNetworkCookie>()) partially evaluated: cookies.isEmpty() no Evaluation Count:0 | yes Evaluation Count:3 |
never evaluated: value.userType() == qMetaTypeId<QNetworkCookie>() | 0-3 |
281 | cookies << qvariant_cast<QNetworkCookie>(value); never executed: cookies << qvariant_cast<QNetworkCookie>(value); | 0 |
282 | | - |
283 | QByteArray result; | - |
284 | bool first = true; | - |
285 | for (QForeachContainer<__typeof__(cookies)> _container_(cookies); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (const QNetworkCookie &cookie = *_container_.i;; __extension__ ({--_container_.brk; break;})) { | - |
286 | if (!first) evaluated: !first yes Evaluation Count:1 | yes Evaluation Count:3 |
| 1-3 |
287 | result += ", "; executed: result += ", "; Execution Count:1 | 1 |
288 | first = false; | - |
289 | result += cookie.toRawForm(QNetworkCookie::Full); | - |
290 | } executed: } Execution Count:4 | 4 |
291 | return result; executed: return result; Execution Count:3 | 3 |
292 | } | - |
293 | } | - |
294 | | - |
295 | return QByteArray(); never executed: return QByteArray(); | 0 |
296 | } | - |
297 | | - |
298 | static QNetworkRequest::KnownHeaders parseHeaderName(const QByteArray &headerName) | - |
299 | { | - |
300 | | - |
301 | | - |
302 | switch (tolower(headerName.at(0))) { | - |
303 | case 'c': | - |
304 | if (qstricmp(headerName.constData(), "content-type") == 0) evaluated: qstricmp(headerName.constData(), "content-type") == 0 yes Evaluation Count:766 | yes Evaluation Count:1157 |
| 766-1157 |
305 | return QNetworkRequest::ContentTypeHeader; executed: return QNetworkRequest::ContentTypeHeader; Execution Count:766 | 766 |
306 | else if (qstricmp(headerName.constData(), "content-length") == 0) evaluated: qstricmp(headerName.constData(), "content-length") == 0 yes Evaluation Count:521 | yes Evaluation Count:636 |
| 521-636 |
307 | return QNetworkRequest::ContentLengthHeader; executed: return QNetworkRequest::ContentLengthHeader; Execution Count:521 | 521 |
308 | else if (qstricmp(headerName.constData(), "cookie") == 0) evaluated: qstricmp(headerName.constData(), "cookie") == 0 yes Evaluation Count:2 | yes Evaluation Count:634 |
| 2-634 |
309 | return QNetworkRequest::CookieHeader; executed: return QNetworkRequest::CookieHeader; Execution Count:2 | 2 |
310 | break; executed: break; Execution Count:634 | 634 |
311 | | - |
312 | case 'l': | - |
313 | if (qstricmp(headerName.constData(), "location") == 0) evaluated: qstricmp(headerName.constData(), "location") == 0 yes Evaluation Count:38 | yes Evaluation Count:277 |
| 38-277 |
314 | return QNetworkRequest::LocationHeader; executed: return QNetworkRequest::LocationHeader; Execution Count:38 | 38 |
315 | else if (qstricmp(headerName.constData(), "last-modified") == 0) partially evaluated: qstricmp(headerName.constData(), "last-modified") == 0 yes Evaluation Count:277 | no Evaluation Count:0 |
| 0-277 |
316 | return QNetworkRequest::LastModifiedHeader; executed: return QNetworkRequest::LastModifiedHeader; Execution Count:277 | 277 |
317 | break; | 0 |
318 | | - |
319 | case 's': | - |
320 | if (qstricmp(headerName.constData(), "set-cookie") == 0) evaluated: qstricmp(headerName.constData(), "set-cookie") == 0 yes Evaluation Count:17 | yes Evaluation Count:686 |
| 17-686 |
321 | return QNetworkRequest::SetCookieHeader; executed: return QNetworkRequest::SetCookieHeader; Execution Count:17 | 17 |
322 | else if (qstricmp(headerName.constData(), "server") == 0) partially evaluated: qstricmp(headerName.constData(), "server") == 0 yes Evaluation Count:686 | no Evaluation Count:0 |
| 0-686 |
323 | return QNetworkRequest::ServerHeader; executed: return QNetworkRequest::ServerHeader; Execution Count:686 | 686 |
324 | break; | 0 |
325 | | - |
326 | case 'u': | - |
327 | if (qstricmp(headerName.constData(), "user-agent") == 0) partially evaluated: qstricmp(headerName.constData(), "user-agent") == 0 yes Evaluation Count:8 | no Evaluation Count:0 |
| 0-8 |
328 | return QNetworkRequest::UserAgentHeader; executed: return QNetworkRequest::UserAgentHeader; Execution Count:8 | 8 |
329 | break; | 0 |
330 | } | - |
331 | | - |
332 | return QNetworkRequest::KnownHeaders(-1); executed: return QNetworkRequest::KnownHeaders(-1); Execution Count:2719 | 2719 |
333 | } | - |
334 | | - |
335 | static QVariant parseHttpDate(const QByteArray &raw) | - |
336 | { | - |
337 | QDateTime dt = QNetworkHeadersPrivate::fromHttpDate(raw); | - |
338 | if (dt.isValid()) partially evaluated: dt.isValid() yes Evaluation Count:277 | no Evaluation Count:0 |
| 0-277 |
339 | return dt; executed: return dt; Execution Count:277 | 277 |
340 | return QVariant(); never executed: return QVariant(); | 0 |
341 | } | - |
342 | | - |
343 | static QVariant parseCookieHeader(const QByteArray &raw) | - |
344 | { | - |
345 | QList<QNetworkCookie> result; | - |
346 | QList<QByteArray> cookieList = raw.split(';'); | - |
347 | for (QForeachContainer<__typeof__(cookieList)> _container_(cookieList); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (const QByteArray &cookie = *_container_.i;; __extension__ ({--_container_.brk; break;})) { | - |
348 | QList<QNetworkCookie> parsed = QNetworkCookie::parseCookies(cookie.trimmed()); | - |
349 | if (parsed.count() != 1) partially evaluated: parsed.count() != 1 no Evaluation Count:0 | yes Evaluation Count:3 |
| 0-3 |
350 | return QVariant(); never executed: return QVariant(); | 0 |
351 | | - |
352 | result += parsed; | - |
353 | } executed: } Execution Count:3 | 3 |
354 | | - |
355 | return QVariant::fromValue(result); executed: return QVariant::fromValue(result); Execution Count:2 | 2 |
356 | } | - |
357 | | - |
358 | static QVariant parseHeaderValue(QNetworkRequest::KnownHeaders header, const QByteArray &value) | - |
359 | { | - |
360 | | - |
361 | switch (header) { | - |
362 | case QNetworkRequest::UserAgentHeader: | - |
363 | case QNetworkRequest::ServerHeader: | - |
364 | case QNetworkRequest::ContentTypeHeader: | - |
365 | | - |
366 | return QString::fromLatin1(value); executed: return QString::fromLatin1(value); Execution Count:1460 | 1460 |
367 | | - |
368 | case QNetworkRequest::ContentLengthHeader: { | - |
369 | bool ok; | - |
370 | qint64 result = value.trimmed().toLongLong(&ok); | - |
371 | if (ok) evaluated: ok yes Evaluation Count:518 | yes Evaluation Count:2 |
| 2-518 |
372 | return result; executed: return result; Execution Count:518 | 518 |
373 | return QVariant(); executed: return QVariant(); Execution Count:2 | 2 |
374 | } | - |
375 | | - |
376 | case QNetworkRequest::LocationHeader: { | - |
377 | QUrl result = QUrl::fromEncoded(value, QUrl::StrictMode); | - |
378 | if (result.isValid() && !result.scheme().isEmpty()) evaluated: result.isValid() yes Evaluation Count:36 | yes Evaluation Count:2 |
evaluated: !result.scheme().isEmpty() yes Evaluation Count:35 | yes Evaluation Count:1 |
| 1-36 |
379 | return result; executed: return result; Execution Count:35 | 35 |
380 | return QVariant(); executed: return QVariant(); Execution Count:3 | 3 |
381 | } | - |
382 | | - |
383 | case QNetworkRequest::LastModifiedHeader: | - |
384 | return parseHttpDate(value); executed: return parseHttpDate(value); Execution Count:277 | 277 |
385 | | - |
386 | case QNetworkRequest::CookieHeader: | - |
387 | return parseCookieHeader(value); executed: return parseCookieHeader(value); Execution Count:2 | 2 |
388 | | - |
389 | case QNetworkRequest::SetCookieHeader: | - |
390 | return QVariant::fromValue(QNetworkCookie::parseCookies(value)); executed: return QVariant::fromValue(QNetworkCookie::parseCookies(value)); Execution Count:17 | 17 |
391 | | - |
392 | default: | - |
393 | qt_noop(); | - |
394 | } | 0 |
395 | return QVariant(); never executed: return QVariant(); | 0 |
396 | } | - |
397 | | - |
398 | QNetworkHeadersPrivate::RawHeadersList::ConstIterator | - |
399 | QNetworkHeadersPrivate::findRawHeader(const QByteArray &key) const | - |
400 | { | - |
401 | RawHeadersList::ConstIterator it = rawHeaders.constBegin(); | - |
402 | RawHeadersList::ConstIterator end = rawHeaders.constEnd(); | - |
403 | for ( ; it != end; ++it) evaluated: it != end yes Evaluation Count:17836 | yes Evaluation Count:5297 |
| 5297-17836 |
404 | if (qstricmp(it->first.constData(), key.constData()) == 0) evaluated: qstricmp(it->first.constData(), key.constData()) == 0 yes Evaluation Count:985 | yes Evaluation Count:16851 |
| 985-16851 |
405 | return it; executed: return it; Execution Count:985 | 985 |
406 | | - |
407 | return end; executed: return end; Execution Count:5297 | 5297 |
408 | } | - |
409 | | - |
410 | QNetworkHeadersPrivate::RawHeadersList QNetworkHeadersPrivate::allRawHeaders() const | - |
411 | { | - |
412 | return rawHeaders; executed: return rawHeaders; Execution Count:20 | 20 |
413 | } | - |
414 | | - |
415 | QList<QByteArray> QNetworkHeadersPrivate::rawHeadersKeys() const | - |
416 | { | - |
417 | QList<QByteArray> result; | - |
418 | RawHeadersList::ConstIterator it = rawHeaders.constBegin(), | - |
419 | end = rawHeaders.constEnd(); | - |
420 | for ( ; it != end; ++it) evaluated: it != end yes Evaluation Count:1057 | yes Evaluation Count:852 |
| 852-1057 |
421 | result << it->first; executed: result << it->first; Execution Count:1057 | 1057 |
422 | | - |
423 | return result; executed: return result; Execution Count:852 | 852 |
424 | } | - |
425 | | - |
426 | void QNetworkHeadersPrivate::setRawHeader(const QByteArray &key, const QByteArray &value) | - |
427 | { | - |
428 | if (key.isEmpty()) evaluated: key.isEmpty() yes Evaluation Count:2 | yes Evaluation Count:4863 |
| 2-4863 |
429 | | - |
430 | return; executed: return; Execution Count:2 | 2 |
431 | | - |
432 | setRawHeaderInternal(key, value); | - |
433 | parseAndSetHeader(key, value); | - |
434 | } executed: } Execution Count:4863 | 4863 |
435 | void QNetworkHeadersPrivate::setAllRawHeaders(const RawHeadersList &list) | - |
436 | { | - |
437 | cookedHeaders.clear(); | - |
438 | rawHeaders = list; | - |
439 | | - |
440 | RawHeadersList::ConstIterator it = rawHeaders.constBegin(); | - |
441 | RawHeadersList::ConstIterator end = rawHeaders.constEnd(); | - |
442 | for ( ; it != end; ++it) evaluated: it != end yes Evaluation Count:171 | yes Evaluation Count:109 |
| 109-171 |
443 | parseAndSetHeader(it->first, it->second); executed: parseAndSetHeader(it->first, it->second); Execution Count:171 | 171 |
444 | } executed: } Execution Count:109 | 109 |
445 | | - |
446 | void QNetworkHeadersPrivate::setCookedHeader(QNetworkRequest::KnownHeaders header, | - |
447 | const QVariant &value) | - |
448 | { | - |
449 | QByteArray name = headerName(header); | - |
450 | if (name.isEmpty()) { partially evaluated: name.isEmpty() no Evaluation Count:0 | yes Evaluation Count:398 |
| 0-398 |
451 | | - |
452 | QMessageLogger("access/qnetworkrequest.cpp", 916, __PRETTY_FUNCTION__).warning("QNetworkRequest::setHeader: invalid header value KnownHeader(%d) received", header); | - |
453 | return; | 0 |
454 | } | - |
455 | | - |
456 | if (value.isNull()) { evaluated: value.isNull() yes Evaluation Count:3 | yes Evaluation Count:395 |
| 3-395 |
457 | setRawHeaderInternal(name, QByteArray()); | - |
458 | cookedHeaders.remove(header); | - |
459 | } else { executed: } Execution Count:3 | 3 |
460 | QByteArray rawValue = headerValue(header, value); | - |
461 | if (rawValue.isEmpty()) { partially evaluated: rawValue.isEmpty() no Evaluation Count:0 | yes Evaluation Count:395 |
| 0-395 |
462 | QMessageLogger("access/qnetworkrequest.cpp", 926, __PRETTY_FUNCTION__).warning("QNetworkRequest::setHeader: QVariant of type %s cannot be used with header %s", | - |
463 | value.typeName(), name.constData()); | - |
464 | return; | 0 |
465 | } | - |
466 | | - |
467 | setRawHeaderInternal(name, rawValue); | - |
468 | cookedHeaders.insert(header, value); | - |
469 | } executed: } Execution Count:395 | 395 |
470 | } | - |
471 | | - |
472 | void QNetworkHeadersPrivate::setRawHeaderInternal(const QByteArray &key, const QByteArray &value) | - |
473 | { | - |
474 | RawHeadersList::Iterator it = rawHeaders.begin(); | - |
475 | while (it != rawHeaders.end()) { evaluated: it != rawHeaders.end() yes Evaluation Count:15480 | yes Evaluation Count:5261 |
| 5261-15480 |
476 | if (qstricmp(it->first.constData(), key.constData()) == 0) evaluated: qstricmp(it->first.constData(), key.constData()) == 0 yes Evaluation Count:47 | yes Evaluation Count:15433 |
| 47-15433 |
477 | it = rawHeaders.erase(it); executed: it = rawHeaders.erase(it); Execution Count:47 | 47 |
478 | else | - |
479 | ++it; executed: ++it; Execution Count:15433 | 15433 |
480 | } | - |
481 | | - |
482 | if (value.isNull()) evaluated: value.isNull() yes Evaluation Count:9 | yes Evaluation Count:5252 |
| 9-5252 |
483 | return; executed: return; Execution Count:9 | 9 |
484 | | - |
485 | RawHeaderPair pair; | - |
486 | pair.first = key; | - |
487 | pair.second = value; | - |
488 | rawHeaders.append(pair); | - |
489 | } executed: } Execution Count:5252 | 5252 |
490 | | - |
491 | void QNetworkHeadersPrivate::parseAndSetHeader(const QByteArray &key, const QByteArray &value) | - |
492 | { | - |
493 | | - |
494 | QNetworkRequest::KnownHeaders parsedKey = parseHeaderName(key); | - |
495 | if (parsedKey != QNetworkRequest::KnownHeaders(-1)) { evaluated: parsedKey != QNetworkRequest::KnownHeaders(-1) yes Evaluation Count:2315 | yes Evaluation Count:2719 |
| 2315-2719 |
496 | if (value.isNull()) { partially evaluated: value.isNull() no Evaluation Count:0 | yes Evaluation Count:2315 |
| 0-2315 |
497 | cookedHeaders.remove(parsedKey); | - |
498 | } else if (parsedKey == QNetworkRequest::ContentLengthHeader evaluated: parsedKey == QNetworkRequest::ContentLengthHeader yes Evaluation Count:521 | yes Evaluation Count:1794 |
| 0-1794 |
499 | && cookedHeaders.contains(QNetworkRequest::ContentLengthHeader)) { evaluated: cookedHeaders.contains(QNetworkRequest::ContentLengthHeader) yes Evaluation Count:1 | yes Evaluation Count:520 |
| 1-520 |
500 | | - |
501 | | - |
502 | } else { executed: } Execution Count:1 | 1 |
503 | cookedHeaders.insert(parsedKey, parseHeaderValue(parsedKey, value)); | - |
504 | } executed: } Execution Count:2314 | 2314 |
505 | | - |
506 | } | - |
507 | } executed: } Execution Count:5034 | 5034 |
508 | | - |
509 | | - |
510 | | - |
511 | | - |
512 | static int name_to_month(const char* month_str) | - |
513 | { | - |
514 | switch (month_str[0]) { | - |
515 | case 'J': | - |
516 | switch (month_str[1]) { | - |
517 | case 'a': | - |
518 | return 1; executed: return 1; Execution Count:24 | 24 |
519 | case 'u': | - |
520 | switch (month_str[2] ) { | - |
521 | case 'n': | - |
522 | return 6; executed: return 6; Execution Count:18 | 18 |
523 | case 'l': | - |
524 | return 7; never executed: return 7; | 0 |
525 | } | - |
526 | } | 0 |
527 | break; | 0 |
528 | case 'F': | - |
529 | return 2; never executed: return 2; | 0 |
530 | case 'M': | - |
531 | switch (month_str[2] ) { | - |
532 | case 'r': | - |
533 | return 3; executed: return 3; Execution Count:1 | 1 |
534 | case 'y': | - |
535 | return 5; executed: return 5; Execution Count:61 | 61 |
536 | } | - |
537 | break; | 0 |
538 | case 'A': | - |
539 | switch (month_str[1]) { | - |
540 | case 'p': | - |
541 | return 4; never executed: return 4; | 0 |
542 | case 'u': | - |
543 | return 8; never executed: return 8; | 0 |
544 | } | - |
545 | break; | 0 |
546 | case 'O': | - |
547 | return 10; executed: return 10; Execution Count:215 | 215 |
548 | case 'S': | - |
549 | return 9; never executed: return 9; | 0 |
550 | case 'N': | - |
551 | return 11; executed: return 11; Execution Count:14 | 14 |
552 | case 'D': | - |
553 | return 12; never executed: return 12; | 0 |
554 | } | - |
555 | | - |
556 | return 0; never executed: return 0; | 0 |
557 | } | - |
558 | | - |
559 | QDateTime QNetworkHeadersPrivate::fromHttpDate(const QByteArray &value) | - |
560 | { | - |
561 | | - |
562 | | - |
563 | | - |
564 | | - |
565 | | - |
566 | | - |
567 | int pos = value.indexOf(','); | - |
568 | QDateTime dt; | - |
569 | | - |
570 | if (pos == -1) { evaluated: pos == -1 yes Evaluation Count:1 | yes Evaluation Count:334 |
| 1-334 |
571 | | - |
572 | dt = QDateTime::fromString(QString::fromLatin1(value), Qt::TextDate); | - |
573 | } else { executed: } Execution Count:1 | 1 |
574 | | - |
575 | | - |
576 | if (pos == 3) { evaluated: pos == 3 yes Evaluation Count:333 | yes Evaluation Count:1 |
| 1-333 |
577 | char month_name[4]; | - |
578 | int day, year, hour, minute, second; | - |
579 | | - |
580 | | - |
581 | | - |
582 | | - |
583 | | - |
584 | | - |
585 | if (sscanf(value.constData(), "%*3s, %d %3s %d %d:%d:%d 'GMT'", &day, month_name, &year, &hour, &minute, &second) == 6) partially evaluated: sscanf(value.constData(), "%*3s, %d %3s %d %d:%d:%d 'GMT'", &day, month_name, &year, &hour, &minute, &second) == 6 yes Evaluation Count:333 | no Evaluation Count:0 |
| 0-333 |
586 | | - |
587 | dt = QDateTime(QDate(year, name_to_month(month_name), day), QTime(hour, minute, second)); executed: dt = QDateTime(QDate(year, name_to_month(month_name), day), QTime(hour, minute, second)); Execution Count:333 | 333 |
588 | } else { executed: } Execution Count:333 | 333 |
589 | QLocale c = QLocale::c(); | - |
590 | | - |
591 | QString sansWeekday = QString::fromLatin1(value.constData() + pos + 2); | - |
592 | | - |
593 | dt = c.toDateTime(sansWeekday, QLatin1String("dd-MMM-yy hh:mm:ss 'GMT'")); | - |
594 | } executed: } Execution Count:1 | 1 |
595 | } | - |
596 | | - |
597 | | - |
598 | if (dt.isValid()) partially evaluated: dt.isValid() yes Evaluation Count:335 | no Evaluation Count:0 |
| 0-335 |
599 | dt.setTimeSpec(Qt::UTC); executed: dt.setTimeSpec(Qt::UTC); Execution Count:335 | 335 |
600 | return dt; executed: return dt; Execution Count:335 | 335 |
601 | } | - |
602 | | - |
603 | QByteArray QNetworkHeadersPrivate::toHttpDate(const QDateTime &dt) | - |
604 | { | - |
605 | return QLocale::c().toString(dt, QLatin1String("ddd, dd MMM yyyy hh:mm:ss 'GMT'")) | 70 |
606 | .toLatin1(); executed: return QLocale::c().toString(dt, QLatin1String("ddd, dd MMM yyyy hh:mm:ss 'GMT'")) .toLatin1(); Execution Count:70 | 70 |
607 | } | - |
608 | | - |
609 | | - |
610 | | - |
| | |