1731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// Use of this source code is governed by a BSD-style license that can be 3731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// found in the LICENSE file. 4731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 5731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#ifndef NET_HTTP_HTTP_PROXY_UTILS_H_ 6731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#define NET_HTTP_HTTP_PROXY_UTILS_H_ 7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#pragma once 8731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 9731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include <string> 10731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 11731df977c0511bca2206b5f333555b1205ff1f43Iain Merricknamespace net { 12731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 13731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickstruct HttpRequestInfo; 14731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass HttpRequestHeaders; 15731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickclass HostPortPair; 16731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 17731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// The HTTP CONNECT method for establishing a tunnel connection is documented 18731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// in draft-luotonen-web-proxy-tunneling-01.txt and RFC 2817, Sections 5.2 and 19731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick// 5.3. 20731df977c0511bca2206b5f333555b1205ff1f43Iain Merrickvoid BuildTunnelRequest(const HttpRequestInfo& request_info, 21731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const HttpRequestHeaders& auth_headers, 22731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick const HostPortPair& endpoint, 23731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick std::string* request_line, 24731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick HttpRequestHeaders* request_headers); 25731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} // namespace net 27731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 28731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#endif // NET_HTTP_HTTP_PROXY_UTILS_H_ 29