* @brief get the pristin URL querystring * * @param txnp HTTP transaction structure * @return pristine URL querystring */
| 328 | * @return pristine URL querystring |
| 329 | */ |
| 330 | static String |
| 331 | getPristineUrlQuery(TSHttpTxn txnp) |
| 332 | { |
| 333 | String pristineQuery; |
| 334 | TSMLoc pristineUrlLoc; |
| 335 | TSMBuffer reqBuffer; |
| 336 | |
| 337 | if (TS_SUCCESS == TSHttpTxnPristineUrlGet(txnp, &reqBuffer, &pristineUrlLoc)) { |
| 338 | int queryLen = 0; |
| 339 | const char *query = TSUrlHttpQueryGet(reqBuffer, pristineUrlLoc, &queryLen); |
| 340 | if (nullptr != query) { |
| 341 | PrefetchDebug("query: '%.*s'", queryLen, query); |
| 342 | pristineQuery.assign(query, queryLen); |
| 343 | } |
| 344 | TSHandleMLocRelease(reqBuffer, TS_NULL_MLOC, pristineUrlLoc); |
| 345 | } else { |
| 346 | PrefetchError("failed to get pristine URL"); |
| 347 | } |
| 348 | return pristineQuery; |
| 349 | } |
| 350 | |
| 351 | static constexpr StringView CmcdHeader{"Cmcd-Request"}; |
| 352 | static constexpr StringView CmcdNorFieldPrefix{"nor="}; |
no test coverage detected