19 #ifndef INCLUDE_RCF_HTTPCONNECTFILTER_HPP 20 #define INCLUDE_RCF_HTTPCONNECTFILTER_HPP 25 #include <RCF/Filter.hpp> 26 #include <RCF/HttpFrameFilter.hpp> 34 class HttpConnectFilter :
public Filter
39 HttpConnectFilter(
const std::string serverAddr,
int serverPort);
45 const ByteBuffer &byteBuffer,
46 std::size_t bytesRequested);
48 void write(
const std::vector<ByteBuffer> &byteBuffers);
50 void onReadCompleted(
const ByteBuffer &byteBuffer);
52 void onWriteCompleted(std::size_t bytesTransferred);
54 int getFilterId()
const;
67 void sendProxyRequest();
68 void tryNextAuthType();
70 void doNtlmHandshake();
71 void doProxyAuthRetry();
73 std::string mServerAddr;
78 std::vector<ByteBuffer> mOrigWriteBuffers;
80 std::string mHttpProxyRequest;
81 std::string mHttpProxyResponse;
83 HttpMessage mHttpMessage;
85 std::size_t mWritePos;
88 std::vector<char> mReadVector;
91 std::vector< std::pair<AuthType, std::string> >
94 std::size_t mCurrentAuthType;
96 std::unique_ptr<NtlmWrapper> mNtlmWrapper;
101 #endif // ! INCLUDE_RCF_HTTPCONNECTFILTER_HPP Definition: AmiIoHandler.hpp:24