| 470 | } |
| 471 | |
| 472 | static void |
| 473 | InjectTxnUuidHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr) |
| 474 | { |
| 475 | TSMLoc dst = FindOrMakeHdrField(buffer, hdr, "X-Transaction-ID", lengthof("X-Transaction-ID")); |
| 476 | |
| 477 | if (TS_NULL_MLOC != dst) { |
| 478 | char buf[TS_UUID_STRING_LEN + 22]; // Padded for int64_t (20) + 1 ('-') + 1 ('\0') |
| 479 | TSUuid uuid = TSProcessUuidGet(); |
| 480 | int len = snprintf(buf, sizeof(buf), "%s-%" PRIu64 "", TSUuidStringGet(uuid), TSHttpTxnIdGet(txn)); |
| 481 | |
| 482 | TSReleaseAssert(TSMimeHdrFieldValueStringInsert(buffer, hdr, dst, -1 /* idx */, buf, len) == TS_SUCCESS); |
| 483 | TSHandleMLocRelease(buffer, hdr, dst); |
| 484 | } |
| 485 | } |
| 486 | |
| 487 | static void |
| 488 | InjectParentSelectionKeyHeader(TSHttpTxn txn, TSMBuffer buffer, TSMLoc hdr) |
no test coverage detected