3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/XAsyncOp.h"
7#include "mc/external/lib_http_client/HCWebSocketCloseStatus.h"
8#include "mc/external/lib_http_client/Result.h"
9#include "mc/external/lib_http_client/hc_websocket_impl.h"
10#include "mc/external/lib_http_client/proxy_type.h"
18namespace xbox::httpclient {
struct WinHttpCallbackContext; }
19namespace xbox::httpclient {
struct XPlatSecurityInformation; }
22namespace xbox::httpclient {
25 public ::std::enable_shared_from_this<::xbox::httpclient::WinHttpConnection> {
98 MCNAPI
long Close(::std::function<
void()> callback);
122 uchar
const* payloadBytes,
124 ::_WINHTTP_WEB_SOCKET_BUFFER_TYPE payloadType
130 ::xbox::httpclient::proxy_type proxyType,
142 MCNAPI static ::xbox::httpclient::Result<::std::shared_ptr<::xbox::httpclient::WinHttpConnection>>
Initialize(
145 ::xbox::httpclient::proxy_type proxyType,
149 MCNAPI static ::xbox::httpclient::Result<::std::shared_ptr<::xbox::httpclient::WinHttpConnection>>
Initialize(
153 char const* subprotocol,
154 ::xbox::httpclient::proxy_type proxyType,
165 void* hRequestHandle,
171 void* hRequestHandle,
177 void* hRequestHandle,
183 void* hRequestHandle,
188 void* hRequestHandle,
192 ulong statusInfoLength
211 ::xbox::httpclient::proxy_type proxyType,
Definition WinHttpConnection.h:25
static MCAPI long WebSocketConnectProvider(::XAsyncOp op, ::XAsyncProviderData const *data)
MCAPI WinHttpConnection(void *hSession, ::HC_CALL *call, ::xbox::httpclient::proxy_type proxyType, ::xbox::httpclient::XPlatSecurityInformation &&securityInformation)
static MCAPI void read_next_response_chunk(::xbox::httpclient::WinHttpConnection *pRequestContext, ulong)
static MCAPI void _multiple_segment_write_data(::xbox::httpclient::WinHttpConnection *pRequestContext)
MCAPI void * $ctor(void *hSession, ::HC_CALL *call, ::xbox::httpclient::proxy_type proxyType, ::xbox::httpclient::XPlatSecurityInformation &&securityInformation)
MCAPI void on_websocket_disconnected(ushort closeReason)
MCAPI long WebSocketReadComplete(bool binaryMessage, bool endOfMessage)
MCAPI void StartWinHttpClose()
MCAPI long WebSocketDisconnect(::HCWebSocketCloseStatus closeStatus)
MCAPI long WebSocketSendMessageAsync(::XAsyncBlock *async, char const *message)
static MCAPI void callback_websocket_status_headers_available(void *hRequestHandle, ::xbox::httpclient::WinHttpCallbackContext *winHttpContext)
MCAPI long Close(::std::function< void()> callback)
static MCAPI void callback_status_request_error(void *hRequestHandle, ::xbox::httpclient::WinHttpConnection *pRequestContext, void *statusInfo)
MCAPI void complete_task(long translatedHR, uint platformSpecificError)
static MCAPI void completion_callback(void *hRequestHandle, uint64 context, ulong statusCode, void *statusInfo, ulong statusInfoLength)
MCAPI void WebSocketSendMessage(::xbox::httpclient::WinHttpConnection::WebSocketSendContext const &sendContext)
MCAPI long HttpCallPerformAsync(::XAsyncBlock *async)
static MCAPI ::xbox::httpclient::Result<::std::shared_ptr<::xbox::httpclient::WinHttpConnection > > Initialize(void *hSession, ::HC_CALL *call, ::xbox::httpclient::proxy_type proxyType, ::xbox::httpclient::XPlatSecurityInformation &&securityInformation)
static MCAPI long WebSocketSendProvider(::XAsyncOp op, ::XAsyncProviderData const *data)
static MCAPI void parse_headers_string(::HC_CALL *call, wchar_t *headersStr)
static MCAPI long flush_response_buffer(::xbox::httpclient::WinHttpConnection *pRequestContext)
static MCAPI uint parse_status_code(::HC_CALL *call, void *hRequestHandle, ::xbox::httpclient::WinHttpConnection *pRequestContext)
static MCAPI void callback_status_headers_available(void *hRequestHandle, ::xbox::httpclient::WinHttpConnection *pRequestContext, void *)
MCAPI long WebSocketReadAsync()
static MCAPI void ** $vftable()
static MCAPI void callback_status_data_available(void *hRequestHandle, ::xbox::httpclient::WinHttpConnection *pRequestContext, void *statusInfo)
static MCAPI ::xbox::httpclient::Result<::std::shared_ptr<::xbox::httpclient::WinHttpConnection > > Initialize(void *hSession, ::HC_WEBSOCKET_OBSERVER *webSocket, char const *uri, char const *subprotocol, ::xbox::httpclient::proxy_type proxyType, ::xbox::httpclient::XPlatSecurityInformation &&securityInformation)
MCAPI long WebSocketSendMessageAsync(::XAsyncBlock *async, uchar const *payloadBytes, uint64 payloadSize, ::_WINHTTP_WEB_SOCKET_BUFFER_TYPE payloadType)
MCAPI long WebSocketConnectAsync(::XAsyncBlock *async)
Definition HC_WEBSOCKET_OBSERVER.h:14
Definition XAsyncBlock.h:10
Definition XAsyncProviderData.h:5
Definition WinHttpCallbackContext.h:7
Definition WinHttpConnection.h:33
Definition hc_websocket_impl.h:7