TrinityCore
Loading...
Searching...
No Matches
Trinity::Net::Http::Socket Class Reference

#include <HttpSocket.h>

+ Inheritance diagram for Trinity::Net::Http::Socket:

Public Member Functions

 Socket (IoContextTcpSocket &&socket)
 
 Socket (boost::asio::io_context &context)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socketoperator= (Socket const &other)=delete
 
Socketoperator= (Socket &&other)=delete
 
 ~Socket ()
 
void Start () override
 
- Public Member Functions inherited from Trinity::Net::Http::BaseSocket< Impl::BoostBeastSocketWrapper >
 BaseSocket (BaseSocket const &other)=delete
 
 BaseSocket (BaseSocket &&other)=delete
 
BaseSocketoperator= (BaseSocket const &other)=delete
 
BaseSocketoperator= (BaseSocket &&other)=delete
 
 ~BaseSocket ()=default
 
SocketReadCallbackResult ReadHandler () final
 
bool HandleMessage (Request &request)
 
virtual RequestHandlerResult RequestHandler (RequestContext &context)=0
 
void SendResponse (RequestContext &context) final
 
bool Update () override
 
boost::asio::ip::address const & GetRemoteIpAddress () const final
 
bool IsOpen () const final
 
void CloseSocket () final
 
std::string GetClientInfo () const override
 
SessionStateGetSessionState () const override
 
void ResetHttpParser ()
 
- Public Member Functions inherited from Trinity::Net::Socket< Stream >
template<typename... Args>
 Socket (IoContextTcpSocket &&socket, Args &&... args)
 
template<typename... Args>
 Socket (boost::asio::io_context &context, Args &&... args)
 
 Socket (Socket const &other)=delete
 
 Socket (Socket &&other)=delete
 
Socketoperator= (Socket const &other)=delete
 
Socketoperator= (Socket &&other)=delete
 
template<BOOST_ASIO_COMPLETION_TOKEN_FOR(void(boost::system::error_code, boost::asio::ip::tcp::endpoint)) Callback>
decltype(auto) Connect (boost::asio::ip::tcp::endpoint const &endpoint, Callback &&callback)
 
template<BOOST_ASIO_COMPLETION_TOKEN_FOR(void(boost::system::error_code, boost::asio::ip::tcp::endpoint)) 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)
 
template<invocable_r< SocketReadCallbackResult > Callback>
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.
 
MessageBufferGetReadBuffer ()
 
Stream & underlying_stream ()
 
- 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
 
void LogRequestAndResponse (RequestContext const &context, MessageBuffer &buffer) const
 
Optional< boost::uuids::uuid > GetSessionId () const
 

Private Types

using SocketBase = BaseSocket< Impl::BoostBeastSocketWrapper >
 

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)
 
- Protected Member Functions inherited from Trinity::Net::Http::BaseSocket< Impl::BoostBeastSocketWrapper >
virtual std::shared_ptr< SessionStateObtainSessionState (RequestContext &context) const=0
 
- Protected Member Functions inherited from Trinity::Net::Socket< Stream >
virtual void OnClose ()
 
bool AsyncProcessQueue ()
 
void SetNoDelay (bool enable)
 
- Protected Attributes inherited from Trinity::Net::Http::BaseSocket< Impl::BoostBeastSocketWrapper >
Optional< RequestParser_httpParser
 
std::shared_ptr< SessionState_state
 

Detailed Description

Definition at line 25 of file HttpSocket.h.

Member Typedef Documentation

◆ SocketBase

Constructor & Destructor Documentation

◆ Socket() [1/4]

Trinity::Net::Http::Socket::Socket ( IoContextTcpSocket &&  socket)
explicit

Definition at line 23 of file HttpSocket.cpp.

◆ Socket() [2/4]

Trinity::Net::Http::Socket::Socket ( boost::asio::io_context &  context)
explicit

Definition at line 27 of file HttpSocket.cpp.

◆ Socket() [3/4]

Trinity::Net::Http::Socket::Socket ( Socket const &  other)
delete

◆ Socket() [4/4]

Trinity::Net::Http::Socket::Socket ( Socket &&  other)
delete

◆ ~Socket()

Trinity::Net::Http::Socket::~Socket ( )
virtualdefault

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

Member Function Documentation

◆ operator=() [1/2]

Socket & Trinity::Net::Http::Socket::operator= ( Socket &&  other)
delete

◆ operator=() [2/2]

Socket & Trinity::Net::Http::Socket::operator= ( Socket const &  other)
delete

◆ Start()

void Trinity::Net::Http::Socket::Start ( )
overridevirtual

Reimplemented from Trinity::Net::Http::BaseSocket< Impl::BoostBeastSocketWrapper >.

Definition at line 33 of file HttpSocket.cpp.

+ Here is the call graph for this function:

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