TrinityCore
Loading...
Searching...
No Matches
Trinity::Net::Http::BaseSocket< Stream > Class Template Referenceabstract

#include <BaseHttpSocket.h>

+ Inheritance diagram for Trinity::Net::Http::BaseSocket< Stream >:

Public Member Functions

 BaseSocket (BaseSocket const &other)=delete
 
 BaseSocket (BaseSocket &&other)=delete
 
BaseSocket & operator= (BaseSocket const &other)=delete
 
BaseSocket & operator= (BaseSocket &&other)=delete
 
 ~BaseSocket ()=default
 
SocketReadCallbackResult ReadHandler () final
 
bool HandleMessage (Request &request)
 
virtual RequestHandlerResult RequestHandler (RequestContext &context)=0
 
void SendResponse (RequestContext &context) final
 
void Start () override
 
bool Update () override
 
boost::asio::ip::address const & GetRemoteIpAddress () const final
 
bool IsOpen () const final
 
void CloseSocket () final
 
std::string GetClientInfo () const override
 
SessionState * GetSessionState () const override
 
void ResetHttpParser ()
 
- Public Member Functions inherited from Trinity::Net::Socket< Stream >
 Socket (IoContextTcpSocket &&socket, Args &&... args)
 
 Socket (Asio::IoContext &context, Args &&... args)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socket & operator= (Socket const &other)=delete
 
Socket & operator= (Socket &&other)=delete
 
virtual ~Socket ()
 
decltype(auto) Connect (boost::asio::ip::tcp::endpoint const &endpoint, Callback &&callback)
 
decltype(auto) Connect (std::vector< boost::asio::ip::tcp::endpoint > const &endpoints, Callback &&callback)
 
boost::asio::ip::address const & GetRemoteIpAddress () const
 
uint16 GetRemotePort () const
 
void SetRemoteEndpoint (boost::asio::ip::tcp::endpoint const &endpoint)
 
void AsyncRead (Callback &&callback)
 
void QueuePacket (MessageBuffer &&buffer)
 
bool IsOpen () const
 
void CloseSocket ()
 
void DelayedCloseSocket ()
 Marks the socket for closing after write buffer becomes empty.
 
MessageBuffer & GetReadBuffer ()
 
Stream & underlying_stream ()
 
- Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
 AbstractSocket ()=default
 
 AbstractSocket (AbstractSocket const &other)=default
 
 AbstractSocket (AbstractSocket &&other)=default
 
AbstractSocket & operator= (AbstractSocket const &other)=default
 
AbstractSocket & operator= (AbstractSocket &&other)=default
 
virtual ~AbstractSocket ()=default
 
void LogRequestAndResponse (RequestContext const &context, MessageBuffer &buffer) const
 
Optional< boost::uuids::uuid > GetSessionId () const
 

Protected Member Functions

virtual std::shared_ptr< SessionState > ObtainSessionState (RequestContext &context) const =0
 
- Protected Member Functions inherited from Trinity::Net::Socket< Stream >
virtual void OnClose ()
 
bool AsyncProcessQueue ()
 
void SetNoDelay (bool enable)
 

Protected Attributes

Optional< RequestParser > _httpParser
 
std::shared_ptr< SessionState > _state
 

Private Types

using Base = Trinity::Net::Socket< Stream >
 

Additional Inherited Members

- Static Public Member Functions inherited from Trinity::Net::Http::AbstractSocket
static bool ParseRequest (MessageBuffer &packet, RequestParser &parser)
 
static bool ParseResponse (MessageBuffer &packet, ResponseParser &parser)
 
static MessageBuffer SerializeRequest (Request const &request)
 
static MessageBuffer SerializeResponse (Request const &request, Response const &response)
 
static std::string GetClientInfo (boost::asio::ip::address const &address, uint16 port, SessionState const *state)
 

Detailed Description

template<typename Stream>
class Trinity::Net::Http::BaseSocket< Stream >

Definition at line 140 of file BaseHttpSocket.h.

Member Typedef Documentation

◆ Base

template<typename Stream >
using Trinity::Net::Http::BaseSocket< Stream >::Base = Trinity::Net::Socket<Stream>
private

Definition at line 142 of file BaseHttpSocket.h.

Constructor & Destructor Documentation

◆ BaseSocket() [1/2]

template<typename Stream >
Trinity::Net::Http::BaseSocket< Stream >::BaseSocket ( BaseSocket< Stream > const &  other)
delete

◆ BaseSocket() [2/2]

template<typename Stream >
Trinity::Net::Http::BaseSocket< Stream >::BaseSocket ( BaseSocket< Stream > &&  other)
delete

◆ ~BaseSocket()

template<typename Stream >
Trinity::Net::Http::BaseSocket< Stream >::~BaseSocket ( )
default

Member Function Documentation

◆ CloseSocket()

template<typename Stream >
void Trinity::Net::Http::BaseSocket< Stream >::CloseSocket ( )
inlinefinalvirtual

◆ GetClientInfo()

◆ GetRemoteIpAddress()

template<typename Stream >
boost::asio::ip::address const & Trinity::Net::Http::BaseSocket< Stream >::GetRemoteIpAddress ( ) const
inlinefinalvirtual

◆ GetSessionState()

template<typename Stream >
SessionState * Trinity::Net::Http::BaseSocket< Stream >::GetSessionState ( ) const
inlineoverridevirtual

◆ HandleMessage()

◆ IsOpen()

template<typename Stream >
bool Trinity::Net::Http::BaseSocket< Stream >::IsOpen ( ) const
inlinefinalvirtual

◆ ObtainSessionState()

template<typename Stream >
virtual std::shared_ptr< SessionState > Trinity::Net::Http::BaseSocket< Stream >::ObtainSessionState ( RequestContext &  context) const
protectedpure virtual

◆ operator=() [1/2]

template<typename Stream >
BaseSocket & Trinity::Net::Http::BaseSocket< Stream >::operator= ( BaseSocket< Stream > &&  other)
delete

◆ operator=() [2/2]

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

◆ ReadHandler()

◆ RequestHandler()

template<typename Stream >
virtual RequestHandlerResult Trinity::Net::Http::BaseSocket< Stream >::RequestHandler ( RequestContext &  context)
pure virtual

◆ ResetHttpParser()

template<typename Stream >
void Trinity::Net::Http::BaseSocket< Stream >::ResetHttpParser ( )
inline

◆ SendResponse()

◆ Start()

template<typename Stream >
void Trinity::Net::Http::BaseSocket< Stream >::Start ( )
inlineoverridevirtual

◆ Update()

template<typename Stream >
bool Trinity::Net::Http::BaseSocket< Stream >::Update ( )
inlineoverridevirtual

Reimplemented from Trinity::Net::Socket< Stream >.

Definition at line 210 of file BaseHttpSocket.h.

References Trinity::Net::Socket< Stream >::Update().

Member Data Documentation

◆ _httpParser

◆ _state


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