1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_HTTP_PROXY_CLIENT_SOCKET_H_ 6 #define NET_HTTP_PROXY_CLIENT_SOCKET_H_ 7 #pragma once 8 9 #include "net/socket/client_socket.h" 10 11 namespace net { 12 13 class HttpStream; 14 class HttpResponseInfo; 15 16 class ProxyClientSocket : public ClientSocket { 17 public: ProxyClientSocket()18 ProxyClientSocket() {} ~ProxyClientSocket()19 virtual ~ProxyClientSocket() {} 20 21 // Returns the HttpResponseInfo (including HTTP Headers) from 22 // the response to the CONNECT request. 23 virtual const HttpResponseInfo* GetConnectResponseInfo() const = 0; 24 25 // Transfers ownership of a newly created HttpStream to the caller 26 // which can be used to read the response body. 27 virtual HttpStream* CreateConnectResponseStream() = 0; 28 29 private: 30 DISALLOW_COPY_AND_ASSIGN(ProxyClientSocket); 31 }; 32 33 } // namespace net 34 35 #endif // NET_HTTP_PROXY_CLIENT_SOCKET_H_ 36