MCPcopy Create free account
hub / github.com/apache/trafficserver / getPristineUrlQuery

Function getPristineUrlQuery

plugins/prefetch/plugin.cc:330–349  ·  view source on GitHub ↗

* @brief get the pristin URL querystring * * @param txnp HTTP transaction structure * @return pristine URL querystring */

Source from the content-addressed store, hash-verified

328 * @return pristine URL querystring
329 */
330static String
331getPristineUrlQuery(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
351static constexpr StringView CmcdHeader{"Cmcd-Request"};
352static constexpr StringView CmcdNorFieldPrefix{"nor="};

Callers 1

contHandleFetchFunction · 0.85

Calls 4

TSHttpTxnPristineUrlGetFunction · 0.85
TSUrlHttpQueryGetFunction · 0.85
TSHandleMLocReleaseFunction · 0.85
assignMethod · 0.45

Tested by

no test coverage detected