TrinityCore
Trinity::Net::Http::SslSocket< Derived > Class Template Reference

#include <HttpSslSocket.h>

+ Inheritance diagram for Trinity::Net::Http::SslSocket< Derived >:

Public Member Functions

 SslSocket (boost::asio::ip::tcp::socket &&socket, boost::asio::ssl::context &sslContext)
 
 SslSocket (SslSocket const &other)=delete
 
 SslSocket (SslSocket &&other)=delete
 
SslSocketoperator= (SslSocket const &other)=delete
 
SslSocketoperator= (SslSocket &&other)=delete
 
 ~SslSocket ()=default
 
void Start () override
 
void AsyncHandshake ()
 
void HandshakeHandler (boost::system::error_code const &error)
 
- Public Member Functions inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSslSocketWrapper >
 BaseSocket (boost::asio::ip::tcp::socket &&socket, Args &&... args)
 
 BaseSocket (BaseSocket const &other)=delete
 
 BaseSocket (BaseSocket &&other)=delete
 
BaseSocketoperator= (BaseSocket const &other)=delete
 
BaseSocketoperator= (BaseSocket &&other)=delete
 
 ~BaseSocket ()=default
 
void ReadHandler () override
 
bool HandleMessage (Request &request)
 
virtual RequestHandlerResult RequestHandler (RequestContext &context)=0
 
void SendResponse (RequestContext &context) override
 
void QueueQuery (QueryCallback &&queryCallback) override
 
bool Update () override
 
std::string GetClientInfo () const override
 
Optional< boost::uuids::uuid > GetSessionId () const final
 
- Public Member Functions inherited from Socket< Derived, Impl::BoostBeastSslSocketWrapper >
 Socket (boost::asio::ip::tcp::socket &&socket, Args &&... args)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socketoperator= (Socket const &other)=delete
 
Socketoperator= (Socket &&other)=delete
 
virtual ~Socket ()
 
virtual void Start ()=0
 
virtual bool Update ()
 
boost::asio::ip::address GetRemoteIpAddress () const
 
uint16 GetRemotePort () const
 
void AsyncRead ()
 
void AsyncReadWithCallback (void(T::*callback)(boost::system::error_code const &, std::size_t))
 
void QueuePacket (MessageBuffer &&buffer)
 
bool IsOpen () const
 
void CloseSocket ()
 
void DelayedCloseSocket ()
 Marks the socket for closing after write buffer becomes empty. More...
 
MessageBufferGetReadBuffer ()
 
- Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
 AbstractSocket ()=default
 
 AbstractSocket (AbstractSocket const &other)=default
 
 AbstractSocket (AbstractSocket &&other)=default
 
AbstractSocketoperator= (AbstractSocket const &other)=default
 
AbstractSocketoperator= (AbstractSocket &&other)=default
 
virtual ~AbstractSocket ()=default
 
virtual void SendResponse (RequestContext &context)=0
 
virtual void QueueQuery (QueryCallback &&queryCallback)=0
 
virtual std::string GetClientInfo () const =0
 
virtual Optional< boost::uuids::uuid > GetSessionId () const =0
 

Private Types

using SocketBase = BaseSocket< Derived, Impl::BoostBeastSslSocketWrapper >
 

Additional Inherited Members

- Static Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
static bool ParseRequest (MessageBuffer &packet, RequestParser &parser)
 
static std::string SerializeRequest (Request const &request)
 
static MessageBuffer SerializeResponse (Request const &request, Response &response)
 
- Protected Member Functions inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSslSocketWrapper >
void ResetHttpParser ()
 
virtual std::shared_ptr< SessionStateObtainSessionState (RequestContext &context) const=0
 
- Protected Member Functions inherited from Socket< Derived, Impl::BoostBeastSslSocketWrapper >
virtual void OnClose ()
 
virtual void ReadHandler ()=0
 
bool AsyncProcessQueue ()
 
void SetNoDelay (bool enable)
 
Impl::BoostBeastSslSocketWrapper & underlying_stream ()
 
- Protected Attributes inherited from Trinity::Net::Http::BaseSocket< Derived, Impl::BoostBeastSslSocketWrapper >
QueryCallbackProcessor _queryProcessor
 
Optional< RequestParser_httpParser
 
std::shared_ptr< SessionState_state
 

Detailed Description

template<typename Derived>
class Trinity::Net::Http::SslSocket< Derived >

Definition at line 55 of file HttpSslSocket.h.

Member Typedef Documentation

◆ SocketBase

template<typename Derived >
using Trinity::Net::Http::SslSocket< Derived >::SocketBase = BaseSocket<Derived, Impl::BoostBeastSslSocketWrapper>
private

Definition at line 57 of file HttpSslSocket.h.

Constructor & Destructor Documentation

◆ SslSocket() [1/3]

template<typename Derived >
Trinity::Net::Http::SslSocket< Derived >::SslSocket ( boost::asio::ip::tcp::socket &&  socket,
boost::asio::ssl::context &  sslContext 
)
inlineexplicit

Definition at line 60 of file HttpSslSocket.h.

◆ SslSocket() [2/3]

template<typename Derived >
Trinity::Net::Http::SslSocket< Derived >::SslSocket ( SslSocket< Derived > const &  other)
delete

◆ SslSocket() [3/3]

template<typename Derived >
Trinity::Net::Http::SslSocket< Derived >::SslSocket ( SslSocket< Derived > &&  other)
delete

◆ ~SslSocket()

template<typename Derived >
Trinity::Net::Http::SslSocket< Derived >::~SslSocket ( )
default

Member Function Documentation

◆ AsyncHandshake()

template<typename Derived >
void Trinity::Net::Http::SslSocket< Derived >::AsyncHandshake ( )
inline

Definition at line 75 of file HttpSslSocket.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ HandshakeHandler()

template<typename Derived >
void Trinity::Net::Http::SslSocket< Derived >::HandshakeHandler ( boost::system::error_code const &  error)
inline

Definition at line 81 of file HttpSslSocket.h.

+ Here is the call graph for this function:

◆ operator=() [1/2]

template<typename Derived >
SslSocket & Trinity::Net::Http::SslSocket< Derived >::operator= ( SslSocket< Derived > &&  other)
delete

◆ operator=() [2/2]

template<typename Derived >
SslSocket & Trinity::Net::Http::SslSocket< Derived >::operator= ( SslSocket< Derived > const &  other)
delete

◆ Start()

template<typename Derived >
void Trinity::Net::Http::SslSocket< Derived >::Start ( )
inlineoverridevirtual

Implements Socket< Derived, Impl::BoostBeastSslSocketWrapper >.

Definition at line 70 of file HttpSslSocket.h.

+ Here is the call graph for this function:

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