http and lots of formats

This commit is contained in:
2026-01-05 00:30:37 +02:00
parent 965cecc901
commit f886350eb1
23 changed files with 1727 additions and 121 deletions

View File

@@ -3,11 +3,12 @@
#include "tier0/platform.h"
#include "tier1/utlvector.h"
#include "tier1/utlstring.h"
struct HTTPHeaderParam_t
{
const char *m_szParamName;
const char *m_szValue;
CUtlString m_szParamName;
CUtlString m_szValue;
};
struct HTTPHeader_t
@@ -21,21 +22,35 @@ struct HTTPResponse_t
CUtlBuffer<HTTPHeaderParam_t> m_params;
CUtlBuffer<char> m_message;
uint32_t m_uCode;
bool bIsValid;
bool m_bIsComplete;
};
struct WebSocketPacket_t
{
size_t m_uSize;
void *m_pData;
};
abstract_class IHTTPClient
{
public:
virtual void Post( const char *szResource, HTTPHeader_t *pHeader, uint32_t uDataSize, const char *data ) = 0;
virtual void Post( const char *szResource, HTTPHeader_t *pHeader, uint32_t uDataSize, const void *data ) = 0;
virtual void Get( const char *szResource, HTTPHeader_t *pHeader ) = 0;
virtual bool WebSocket_Connect( const char *szResource ) = 0;
virtual void WebSocket_Close( void ) = 0;
virtual void WebSocket_SendText( const char *szData ) = 0;
virtual CUtlString WebSocket_RecvText() = 0;
virtual void WebSocket_SendBinary( size_t uSize, const void *pData ) = 0;
virtual WebSocketPacket_t WebSocket_RecvBinary() = 0;
virtual HTTPResponse_t GetResponse() = 0;
};
abstract_class IHTTPClientManager
{
public:
virtual IHTTPClient *Connect( const char *szUrl, bool bSecure ) = 0;
virtual IHTTPClient *Connect( const char *szUrl, bool bSecure, uint16_t *pPort ) = 0;
virtual void Disconnect( IHTTPClient *pClient ) = 0;
};