Lines Matching refs:http2
42 #include "http2.h"
205 http2::copy_headers_to_nva_nocopy(nva, trailers, http2::HDOP_STRIP_ALL);
256 auto &http2conf = config->http2;
297 nva.push_back(http2::make_nv_ll(":method", "CONNECT"));
298 nva.push_back(http2::make_nv_ll(":protocol", "websocket"));
300 nva.push_back(http2::make_nv_ls_nocopy(
301 ":method", http2::to_method_string(req.method)));
311 nva.push_back(http2::make_nv_ll(":scheme", "https"));
313 nva.push_back(http2::make_nv_ls_nocopy(":scheme", req.scheme));
317 nva.push_back(http2::make_nv_ll(":path", "*"));
319 nva.push_back(http2::make_nv_ls_nocopy(":path", req.path));
323 nva.push_back(http2::make_nv_ls_nocopy(":authority", authority));
325 nva.push_back(http2::make_nv_ls_nocopy("host", authority));
328 nva.push_back(http2::make_nv_ls_nocopy(":authority", authority));
337 (fwdconf.strip_incoming ? http2::HDOP_STRIP_FORWARDED : 0) |
338 (xffconf.strip_incoming ? http2::HDOP_STRIP_X_FORWARDED_FOR : 0) |
339 (xfpconf.strip_incoming ? http2::HDOP_STRIP_X_FORWARDED_PROTO : 0) |
340 (earlydataconf.strip_incoming ? http2::HDOP_STRIP_EARLY_DATA : 0) |
341 http2::HDOP_STRIP_SEC_WEBSOCKET_KEY;
343 http2::copy_headers_to_nva_nocopy(nva, req.fs.headers(), build_flags);
356 nva.push_back(http2::make_nv_ll("early-data", "1"));
361 fwdconf.strip_incoming ? nullptr : req.fs.header(http2::HD_FORWARDED);
384 nva.push_back(http2::make_nv_ls_nocopy("forwarded", value));
387 nva.push_back(http2::make_nv_ls_nocopy("forwarded", fwd->value));
391 : req.fs.header(http2::HD_X_FORWARDED_FOR);
402 nva.push_back(http2::make_nv_ls_nocopy("x-forwarded-for", xff_value));
404 nva.push_back(http2::make_nv_ls_nocopy("x-forwarded-for", xff->value));
410 : req.fs.header(http2::HD_X_FORWARDED_PROTO);
421 nva.push_back(http2::make_nv_ls_nocopy("x-forwarded-proto", xfp_value));
423 nva.push_back(http2::make_nv_ls_nocopy("x-forwarded-proto", xfp->value));
427 auto via = req.fs.header(http2::HD_VIA);
430 nva.push_back(http2::make_nv_ls_nocopy("via", (*via).value));
448 nva.push_back(http2::make_nv_ls_nocopy("via", StringRef{iov.base, p}));
451 auto te = req.fs.header(http2::HD_TE);
455 if (te && http2::contains_trailers(te->value)) {
456 nva.push_back(http2::make_nv_ll("te", "trailers"));
460 nva.push_back(http2::make_nv_nocopy(p.name, p.value));
477 auto transfer_encoding = req.fs.header(http2::HD_TRANSFER_ENCODING);