18 #ifndef INCLUDE_RCF_HTTPCONNECTFILTER_HPP 19 #define INCLUDE_RCF_HTTPCONNECTFILTER_HPP 24 #include <RCF/Filter.hpp> 33 class HttpConnectFilter :
public Filter
38 HttpConnectFilter(
const std::string serverAddr,
int serverPort);
44 const ByteBuffer &byteBuffer,
45 std::size_t bytesRequested);
47 void write(
const std::vector<ByteBuffer> &byteBuffers);
49 void onReadCompleted(
const ByteBuffer &byteBuffer);
51 void onWriteCompleted(std::size_t bytesTransferred);
53 int getFilterId()
const;
66 void sendProxyRequest();
67 void tryNextAuthType();
69 void doNtlmHandshake();
70 void doProxyAuthRetry();
72 std::string mServerAddr;
77 std::vector<ByteBuffer> mOrigWriteBuffers;
79 std::string mHttpProxyRequest;
80 std::string mHttpProxyResponse;
82 HttpMessage mHttpMessage;
84 std::size_t mWritePos;
87 std::vector<char> mReadVector;
90 std::vector< std::pair<AuthType, std::string> >
93 std::size_t mCurrentAuthType;
95 std::unique_ptr<NtlmWrapper> mNtlmWrapper;
100 #endif // ! INCLUDE_RCF_HTTPCONNECTFILTER_HPP
Definition: AmiIoHandler.hpp:23