MCPcopy Create free account
hub / github.com/ClickHouse/ClickHouse / parseFromHeaderValues

Function parseFromHeaderValues

base/poco/Net/src/HTTPMessage.cpp:189–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187
188
189static int parseFromHeaderValues(const std::string_view header_value, const std::string_view param_name)
190{
191 auto param_value_pos = header_value.find(param_name);
192 if (param_value_pos == std::string::npos)
193 param_value_pos = header_value.size();
194 if (param_value_pos != header_value.size())
195 param_value_pos += param_name.size();
196
197 auto param_value_end = header_value.find(',', param_value_pos);
198 if (param_value_end == std::string::npos)
199 param_value_end = header_value.size();
200
201 auto timeout_value_substr = header_value.substr(param_value_pos, param_value_end - param_value_pos);
202 if (timeout_value_substr.empty())
203 return -1;
204
205 int value = 0;
206 auto [ptr, ec] = std::from_chars(timeout_value_substr.data(), timeout_value_substr.data() + timeout_value_substr.size(), value);
207
208 if (ec == std::errc())
209 return value;
210
211 return -1;
212}
213
214
215int HTTPMessage::getKeepAliveTimeout() const

Callers 2

getKeepAliveTimeoutMethod · 0.85

Calls 4

findMethod · 0.45
sizeMethod · 0.45
emptyMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected