| 144 | (HAS_URL_FIELD(info, field) ? GET_FIELD(data, info, field) : QString()) |
| 145 | |
| 146 | QUrl createUrl(const char *urlData, const http_parser_url &urlInfo) |
| 147 | { |
| 148 | QUrl url; |
| 149 | url.setScheme(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_SCHEMA)); |
| 150 | url.setHost(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_HOST)); |
| 151 | // Port is dealt with separately since it is available as an integer. |
| 152 | url.setPath(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_PATH)); |
| 153 | #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) |
| 154 | url.setQuery(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_QUERY)); |
| 155 | #else |
| 156 | if (HAS_URL_FIELD(urlInfo, UF_QUERY)) { |
| 157 | url.setEncodedQuery(QByteArray(urlData + urlInfo.field_data[UF_QUERY].off, |
| 158 | urlInfo.field_data[UF_QUERY].len)); |
| 159 | } |
| 160 | #endif |
| 161 | url.setFragment(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_FRAGMENT)); |
| 162 | url.setUserInfo(CHECK_AND_GET_FIELD(urlData, urlInfo, UF_USERINFO)); |
| 163 | |
| 164 | if (HAS_URL_FIELD(urlInfo, UF_PORT)) |
| 165 | url.setPort(urlInfo.port); |
| 166 | |
| 167 | return url; |
| 168 | } |
| 169 | |
| 170 | #undef CHECK_AND_SET_FIELD |
| 171 | #undef GET_FIELD |
no test coverage detected