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

Method set_http_header_field

src/proxy/logging/LogAccess.cc:3355–3405  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3353}
3354
3355void
3356LogAccess::set_http_header_field(LogField::Container container, char *field, char *buf, int len)
3357{
3358 HTTPHdr *header;
3359
3360 switch (container) {
3361 case LogField::CQH:
3362 case LogField::ECQH:
3363 header = m_client_request;
3364 break;
3365
3366 case LogField::PSH:
3367 case LogField::EPSH:
3368 header = m_proxy_response;
3369 break;
3370
3371 case LogField::PQH:
3372 case LogField::EPQH:
3373 header = m_proxy_request;
3374 break;
3375
3376 case LogField::SSH:
3377 case LogField::ESSH:
3378 header = m_server_response;
3379 break;
3380
3381 case LogField::CSSH:
3382 case LogField::ECSSH:
3383 header = m_cache_response;
3384 break;
3385
3386 default:
3387 header = nullptr;
3388 break;
3389 }
3390
3391 if (header && buf) {
3392 MIMEField *fld = header->field_find(field, static_cast<int>(::strlen(field)));
3393 if (fld) {
3394 // Loop over dups, update each of them
3395 //
3396 while (fld) {
3397 // make sure to reuse header heaps as otherwise
3398 // coalesce logic in header heap may free up
3399 // memory pointed to by cquuc or other log fields
3400 header->field_value_set(fld, buf, len, true);
3401 fld = fld->m_next_dup;
3402 }
3403 }
3404 }
3405}

Callers

nothing calls this directly

Calls 2

field_findMethod · 0.80
field_value_setMethod · 0.80

Tested by

no test coverage detected