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

Method populate

plugins/esi/lib/Variables.cc:93–125  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

91}
92
93void
94Variables::populate(const HttpHeader &header)
95{
96 if (header.name && header.name_len && header.value && header.value_len) {
97 // doing this because we can't change our const input arg
98 int name_len = (header.name_len == -1) ? strlen(header.name) : header.name_len;
99 int value_len = (header.value_len == -1) ? strlen(header.value) : header.value_len;
100
101 // we need to save the cookie string to build the jar from
102 if ((name_len == 6) && (strncasecmp(header.name, "Cookie", 6) == 0)) {
103 _releaseCookieJar();
104 if (_cookie_str.size()) {
105 _cookie_str.append(", ");
106 }
107 _cookie_str.append(header.value, value_len);
108 }
109
110 if (_headers_parsed) {
111 _parseHeader(header.name, name_len, header.value, value_len);
112 } else {
113 int match_index = _searchHeaders(SIMPLE_HEADERS, header.name, name_len);
114 if (match_index != -1) {
115 _cached_simple_headers[match_index].push_back(string(header.value, value_len));
116 } else {
117 match_index = _searchHeaders(SPECIAL_HEADERS, header.name, name_len);
118 if (match_index != -1) {
119 _cached_special_headers[match_index].push_back(string(header.value, value_len));
120 }
121 }
122 }
123 _insert(_dict_data[HTTP_HEADER], string(header.name, name_len), string(header.value, value_len));
124 }
125}
126
127inline void
128Variables::_parseSimpleHeader(SimpleHeader hdr, const string &value)

Callers 2

getClientStateMethod · 0.45
vars_test.ccFile · 0.45

Calls 4

stringClass · 0.85
sizeMethod · 0.45
appendMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected