////////////////////////////////////////////////////////////////////// Dump a header on stderr, useful together with Dbg().
| 95 | /////////////////////////////////////////////////////////////////////////// |
| 96 | // Dump a header on stderr, useful together with Dbg(). |
| 97 | void |
| 98 | dump_headers(TSMLoc hdr_loc) |
| 99 | { |
| 100 | TSIOBuffer output_buffer = TSIOBufferCreate(); |
| 101 | TSIOBufferReader reader = TSIOBufferReaderAlloc(output_buffer); |
| 102 | int64_t block_avail = 0; |
| 103 | |
| 104 | /* This will print just MIMEFields and not the http request line */ |
| 105 | TSMimeHdrPrint(hdr_loc, output_buffer); |
| 106 | |
| 107 | /* We need to loop over all the buffer blocks, there can be more than 1 */ |
| 108 | TSIOBufferBlock block = TSIOBufferReaderStart(reader); |
| 109 | do { |
| 110 | const char *block_start = TSIOBufferBlockReadStart(block, reader, &block_avail); |
| 111 | if (block_avail > 0) { |
| 112 | Dbg(Bg_dbg_ctl, "Headers are:\n%.*s", static_cast<int>(block_avail), block_start); |
| 113 | } |
| 114 | TSIOBufferReaderConsume(reader, block_avail); |
| 115 | block = TSIOBufferReaderStart(reader); |
| 116 | } while (block && block_avail != 0); |
| 117 | |
| 118 | /* Free up the TSIOBuffer that we used to print out the header */ |
| 119 | TSIOBufferReaderFree(reader); |
| 120 | TSIOBufferDestroy(output_buffer); |
| 121 | } |
no test coverage detected