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

Function createRequestString

plugins/header_rewrite/operators.cc:89–112  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87}
88
89TSReturnCode
90createRequestString(const std::string_view &value, char (&req_buf)[MAX_SIZE], int *req_buf_size)
91{
92 const char *start = value.data();
93 const char *end = start + value.size();
94 TSMLoc url_loc;
95 TSMBuffer url_buf = TSMBufferCreate();
96 int host_len, url_len = 0;
97
98 if (TSUrlCreate(url_buf, &url_loc) == TS_SUCCESS && TSUrlParse(url_buf, url_loc, &start, end) == TS_PARSE_DONE) {
99 const char *host = TSUrlHostGet(url_buf, url_loc, &host_len);
100 const char *url = TSUrlStringGet(url_buf, url_loc, &url_len);
101
102 *req_buf_size = snprintf(req_buf, MAX_SIZE, "GET %.*s HTTP/1.1\r\nHost: %.*s\r\n\r\n", url_len, url, host_len, host);
103
104 TSMBufferDestroy(url_buf);
105
106 return TS_SUCCESS;
107 } else {
108 Dbg(pi_dbg_ctl, "Failed to parse url %s", start);
109 TSMBufferDestroy(url_buf);
110 return TS_ERROR;
111 }
112}
113
114} // namespace
115

Callers 1

execMethod · 0.85

Calls 8

TSMBufferCreateFunction · 0.85
TSUrlCreateFunction · 0.85
TSUrlParseFunction · 0.85
TSUrlHostGetFunction · 0.85
TSUrlStringGetFunction · 0.85
TSMBufferDestroyFunction · 0.85
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected