commit | 4380217c0aa51adff8f624ba412e415e6493413a | [log] [tgz] |
---|---|---|
author | Rajesh Mahindra <rmahindra@uber.com> | Tue Jul 24 20:00:14 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jul 24 20:00:14 2018 |
tree | 71545b7e13e42664b62fd4e8999d7e58b0bdeea6 | |
parent | c51b558293f7efc331259a69e4f69b61dda91555 [diff] |
Enabling quic_server to act as a HTTP proxy serving QUIC clients. To add the functionality of a reverse proxy to the QUIC server, 2 classes were added: 1. QuicHttpProxyBackend: Implements the interface: QuicSimpleServerBackend to fetch the response from a backend server. Creates a proxy thread and manages an instance of net::URLRequestContext within that thread to make HTTP calls to a backend server. 2. QuicHttpProxyBackendStream: Created on a per-stream basis, manages an instance of the class net::URLRequest to make a single HTTP call to the backend server using the context created by QuicHttpProxyBackend. Run As a Proxy To run the quic_server as a reverse proxy, run with --mode=proxy. The param --quic_proxy_backend_url specifies the backend server from which the response is fetched. For instance, ./out/Default/quic_server \ --certificate_file=net/tools/quic/certs/out/leaf_cert.pem \ --key_file=net/tools/quic/certs/out/leaf_cert.pkcs8 \ --mode=proxy \ --quic_proxy_backend_url=http://localhost R=rch@chromium.org, zhongyi@chromium.org Change-Id: I79b7d66eb6bba9628d99181def004c0a5ea2e214 Reviewed-on: https://chromium-review.googlesource.com/1128323 Commit-Queue: Ryan Hamilton <rch@chromium.org> Reviewed-by: Ryan Hamilton <rch@chromium.org> Cr-Commit-Position: refs/heads/master@{#577650}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .