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

Function print_headers

plugins/xdebug/xdebug_headers.cc:121–156  ·  view source on GitHub ↗

////////////////////////////////////////////////////////////////////// Dump a header on stderr, useful together with Dbg().

Source from the content-addressed store, hash-verified

119///////////////////////////////////////////////////////////////////////////
120// Dump a header on stderr, useful together with Dbg().
121void
122print_headers(TSMBuffer bufp, TSMLoc hdr_loc, std::stringstream &ss)
123{
124 TSIOBuffer output_buffer;
125 TSIOBufferReader reader;
126 TSIOBufferBlock block;
127 const char *block_start;
128 int64_t block_avail;
129 EscapeCharForJson escape_char_for_json;
130 output_buffer = TSIOBufferCreate();
131 reader = TSIOBufferReaderAlloc(output_buffer);
132
133 ss << "\t'Start-Line' : '";
134
135 // Print all message header lines.
136 TSHttpHdrPrint(bufp, hdr_loc, output_buffer);
137
138 /* We need to loop over all the buffer blocks, there can be more than 1 */
139 block = TSIOBufferReaderStart(reader);
140 do {
141 block_start = TSIOBufferBlockReadStart(block, reader, &block_avail);
142 for (const char *c = block_start; c < block_start + block_avail; ++c) {
143 ss << escape_char_for_json(*c);
144 }
145 TSIOBufferReaderConsume(reader, block_avail);
146 block = TSIOBufferReaderStart(reader);
147 } while (block && block_avail != 0);
148
149 ss.seekp(-escape_char_for_json.backup(), std::ios_base::end);
150
151 /* Free up the TSIOBuffer that we used to print out the header */
152 TSIOBufferReaderFree(reader);
153 TSIOBufferDestroy(output_buffer);
154
155 Dbg(dbg_ctl_hdrs, "%.*s", static_cast<int>(ss.tellp()), ss.str().data());
156}
157
158void
159log_headers(TSHttpTxn /* txn ATS_UNUSED */, TSMBuffer bufp, TSMLoc hdr_loc, char const *type_msg)

Callers 3

log_headersFunction · 0.85
print_request_headersFunction · 0.85
print_response_headersFunction · 0.85

Calls 11

TSIOBufferCreateFunction · 0.85
TSIOBufferReaderAllocFunction · 0.85
TSHttpHdrPrintFunction · 0.85
TSIOBufferReaderFreeFunction · 0.85
TSIOBufferDestroyFunction · 0.85
backupMethod · 0.80
TSIOBufferReaderStartFunction · 0.50
TSIOBufferBlockReadStartFunction · 0.50
TSIOBufferReaderConsumeFunction · 0.50
dataMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected