OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::WS::Client::HTTPDelegate< PARENT > Class Template Reference

#include <httpcli.hpp>

Inheritance diagram for openvpn::WS::Client::HTTPDelegate< PARENT >:
[legend]
Collaboration diagram for openvpn::WS::Client::HTTPDelegate< PARENT >:
[legend]

Public Types

typedef RCPtr< HTTPDelegatePtr
 
- Public Types inherited from openvpn::WS::Client::HTTPCore
typedef RCPtr< HTTPCorePtr
 
using results_type = openvpn_io::ip::tcp::resolver::results_type
 

Public Member Functions

 OPENVPN_EXCEPTION (http_delegate_error)
 
 HTTPDelegate (openvpn_io::io_context &io_context, WS::Client::Config::Ptr config, PARENT *parent)
 
void attach (PARENT *parent)
 
void detach (const bool keepalive, const bool shutdown)
 
PARENT * parent ()
 
Host http_host () override
 
Request http_request () override
 
ContentInfo http_content_info () override
 
BufferPtr http_content_out () override
 
void http_content_out_needed () override
 
void http_headers_received () override
 
void http_headers_sent (const Buffer &buf) override
 
void http_mutate_resolver_results (results_type &results) override
 
void http_content_in (BufferAllocated &buf) override
 
void http_done (const int status, const std::string &description) override
 
void http_keepalive_close (const int status, const std::string &description) override
 
void http_post_connect (AsioPolySock::Base &sock) override
 
- Public Member Functions inherited from openvpn::WS::Client::HTTPCore
 HTTPCore (openvpn_io::io_context &io_context_arg, Config::Ptr config_arg)
 
virtual ~HTTPCore ()
 
void override_timeouts (TimeoutOverride to_arg)
 
bool is_alive () const
 
bool is_link_active ()
 
bool is_alt_routing_reset () const
 
void check_ready () const
 
void start_request ()
 
void start_request_after (const Time::Duration dur)
 
void stop (const bool shutdown)
 
void abort (const std::string &message, const int status=Status::E_ABORTED)
 
const HTTP::Replyreply () const
 
std::string remote_endpoint_str () const
 
bool remote_ip_port (IP::Addr &addr, unsigned int &port) const
 
Host host_hint ()
 
bool host_match (const std::string &host_arg) const
 
AsioPolySock::Baseget_socket ()
 
void alter_general_timeout_for_streaming ()
 
void streaming_start ()
 
void streaming_restart ()
 
bool is_streaming_restartable () const
 
bool is_streaming_hold () const
 
- Public Member Functions inherited from openvpn::WS::HTTPBase< PARENT, CONFIG, STATUS, REQUEST_REPLY, CONTENT_INFO, CONTENT_LENGTH_TYPE, REFCOUNT_BASE >
void rr_reset ()
 
void reset ()
 
bool is_ready () const
 
bool is_websocket () const
 
bool is_deferred () const
 
bool http_in_started () const
 
bool http_out_started () const
 
const REQUEST_REPLY::State & request_reply () const
 
const HTTP::HeaderListheaders () const
 
olong content_length () const
 
std::string ssl_handshake_details () const
 
bool ssl_did_full_handshake () const
 
void ssl_no_cache ()
 
const CONFIG & http_config () const
 
void set_async_out (const bool async_out_arg)
 
void http_content_out_finish (BufferPtr buf)
 
void reduce_max_content_bytes (const CONTENT_LENGTH_TYPE new_max_content_bytes)
 
- Public Member Functions inherited from openvpn::TransportClientParent
virtual ~TransportClientParent ()=default
 

Private Attributes

PARENT * parent_
 

Additional Inherited Members

- Public Attributes inherited from openvpn::WS::Client::HTTPCore
friend Base
 
- Protected Member Functions inherited from openvpn::WS::HTTPBase< PARENT, CONFIG, STATUS, REQUEST_REPLY, CONTENT_INFO, CONTENT_LENGTH_TYPE, REFCOUNT_BASE >
 HTTPBase (const typename CONFIG::Ptr &config_arg)
 
void http_out_begin ()
 
void http_out ()
 
void tcp_in (BufferAllocated &b)
 
- Protected Attributes inherited from openvpn::WS::HTTPBase< PARENT, CONFIG, STATUS, REQUEST_REPLY, CONTENT_INFO, CONTENT_LENGTH_TYPE, REFCOUNT_BASE >
bool halt = false
 
bool ready = true
 
bool async_out = false
 
bool websocket = false
 
CONFIG::Ptr config
 
CONTENT_INFO content_info
 
SSLAPI::Ptr ssl_sess
 
BufferPtr outbuf
 
Frame::Ptr frame
 
SessionStats::Ptr stats
 

Detailed Description

template<typename PARENT>
class openvpn::WS::Client::HTTPDelegate< PARENT >

Definition at line 1435 of file httpcli.hpp.

Member Typedef Documentation

◆ Ptr

template<typename PARENT >
typedef RCPtr<HTTPDelegate> openvpn::WS::Client::HTTPDelegate< PARENT >::Ptr

Definition at line 1440 of file httpcli.hpp.

Constructor & Destructor Documentation

◆ HTTPDelegate()

template<typename PARENT >
openvpn::WS::Client::HTTPDelegate< PARENT >::HTTPDelegate ( openvpn_io::io_context &  io_context,
WS::Client::Config::Ptr  config,
PARENT *  parent 
)
inline

Definition at line 1442 of file httpcli.hpp.

Member Function Documentation

◆ attach()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::attach ( PARENT *  parent)
inline

Definition at line 1450 of file httpcli.hpp.

◆ detach()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::detach ( const bool  keepalive,
const bool  shutdown 
)
inline

Definition at line 1455 of file httpcli.hpp.

◆ http_content_in()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_content_in ( BufferAllocated buf)
inlineoverridevirtual

Implements openvpn::WS::Client::HTTPCore.

Definition at line 1528 of file httpcli.hpp.

◆ http_content_info()

template<typename PARENT >
ContentInfo openvpn::WS::Client::HTTPDelegate< PARENT >::http_content_info ( )
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1486 of file httpcli.hpp.

◆ http_content_out()

template<typename PARENT >
BufferPtr openvpn::WS::Client::HTTPDelegate< PARENT >::http_content_out ( )
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1494 of file httpcli.hpp.

◆ http_content_out_needed()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_content_out_needed ( )
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1502 of file httpcli.hpp.

◆ http_done()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_done ( const int  status,
const std::string &  description 
)
inlineoverridevirtual

Implements openvpn::WS::Client::HTTPCore.

Definition at line 1534 of file httpcli.hpp.

◆ http_headers_received()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_headers_received ( )
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1510 of file httpcli.hpp.

◆ http_headers_sent()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_headers_sent ( const Buffer buf)
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1516 of file httpcli.hpp.

◆ http_host()

template<typename PARENT >
Host openvpn::WS::Client::HTTPDelegate< PARENT >::http_host ( )
inlineoverridevirtual

Implements openvpn::WS::Client::HTTPCore.

Definition at line 1470 of file httpcli.hpp.

◆ http_keepalive_close()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_keepalive_close ( const int  status,
const std::string &  description 
)
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1540 of file httpcli.hpp.

◆ http_mutate_resolver_results()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_mutate_resolver_results ( results_type results)
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1522 of file httpcli.hpp.

◆ http_post_connect()

template<typename PARENT >
void openvpn::WS::Client::HTTPDelegate< PARENT >::http_post_connect ( AsioPolySock::Base sock)
inlineoverridevirtual

Reimplemented from openvpn::WS::Client::HTTPCore.

Definition at line 1546 of file httpcli.hpp.

◆ http_request()

template<typename PARENT >
Request openvpn::WS::Client::HTTPDelegate< PARENT >::http_request ( )
inlineoverridevirtual

Implements openvpn::WS::Client::HTTPCore.

Definition at line 1478 of file httpcli.hpp.

◆ OPENVPN_EXCEPTION()

template<typename PARENT >
openvpn::WS::Client::HTTPDelegate< PARENT >::OPENVPN_EXCEPTION ( http_delegate_error  )

◆ parent()

template<typename PARENT >
PARENT * openvpn::WS::Client::HTTPDelegate< PARENT >::parent ( )
inline

Definition at line 1465 of file httpcli.hpp.

Here is the caller graph for this function:

Member Data Documentation

◆ parent_

template<typename PARENT >
PARENT* openvpn::WS::Client::HTTPDelegate< PARENT >::parent_
private

Definition at line 1553 of file httpcli.hpp.


The documentation for this class was generated from the following file: