i2pd/libi2pd_client/HTTPProxy.h

42 lines
1.2 KiB
C
Raw Permalink Normal View History

/*
* Copyright (c) 2013-2023, The PurpleI2P Project
*
* This file is part of Purple i2pd project and licensed under BSD3
*
* See full license text in LICENSE file at top of project tree
*/
2014-03-18 02:31:29 +04:00
#ifndef HTTP_PROXY_H__
#define HTTP_PROXY_H__
namespace i2p {
namespace proxy {
class HTTPProxy: public i2p::client::TCPIPAcceptor
2014-03-18 02:31:29 +04:00
{
public:
HTTPProxy(const std::string& name, const std::string& address, uint16_t port, const std::string & outproxy, bool addresshelper, std::shared_ptr<i2p::client::ClientDestination> localDestination);
HTTPProxy(const std::string& name, const std::string& address, uint16_t port, std::shared_ptr<i2p::client::ClientDestination> localDestination = nullptr) :
HTTPProxy(name, address, port, "", true, localDestination) {} ;
~HTTPProxy() {};
2017-10-27 15:42:54 +03:00
std::string GetOutproxyURL() const { return m_OutproxyUrl; }
bool GetHelperSupport() { return m_Addresshelper; }
2017-10-27 15:42:54 +03:00
2015-01-08 03:35:42 +03:00
protected:
2015-01-08 03:35:42 +03:00
// Implements TCPIPAcceptor
std::shared_ptr<i2p::client::I2PServiceHandler> CreateHandler(std::shared_ptr<boost::asio::ip::tcp::socket> socket);
2017-11-14 21:20:54 +03:00
const char* GetName() { return m_Name.c_str (); }
2017-10-27 15:42:54 +03:00
private:
2017-11-14 21:20:54 +03:00
std::string m_Name;
2017-10-27 15:42:54 +03:00
std::string m_OutproxyUrl;
bool m_Addresshelper;
};
} // http
} // i2p
2014-03-18 02:31:29 +04:00
#endif