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

Method parse

plugins/experimental/inliner/fetcher.cc:57–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55}
56
57bool
58HttpParser::parse(io::IO &io)
59{
60 if (parsed_) {
61 return true;
62 }
63 TSIOBufferBlock block = TSIOBufferReaderStart(io.reader);
64 while (block != nullptr) {
65 int64_t size = 0;
66 const char *const begin = TSIOBufferBlockReadStart(block, io.reader, &size);
67 const char *iterator = begin;
68
69 parsed_ = (TSHttpHdrParseResp(parser_, buffer_, location_, &iterator, iterator + size) == TS_PARSE_DONE);
70 TSIOBufferReaderConsume(io.reader, iterator - begin);
71
72 if (parsed_) {
73 Dbg(dbg_ctl, "HttpParser: response parsing is complete (%u response status code)", statusCode());
74 assert(parser_ != nullptr);
75 destroyParser();
76 return true;
77 }
78
79 block = TSIOBufferBlockNext(block);
80 }
81 return false;
82}
83
84} // namespace ats

Callers 3

handleMethod · 0.45
handle_transformFunction · 0.45

Calls 5

TSHttpHdrParseRespFunction · 0.85
TSIOBufferReaderStartFunction · 0.50
TSIOBufferBlockReadStartFunction · 0.50
TSIOBufferReaderConsumeFunction · 0.50
TSIOBufferBlockNextFunction · 0.50

Tested by

no test coverage detected