+++ /dev/null
-#ifndef VG_STEAM_HTTP_H
-#define VG_STEAM_HTTP_H
-
-#include "vg_steam.h"
-
-/*
- * HTTP Status codes that the server can send in response to a request, see
- * rfc2616 section 10.3 for descriptions of each of these.
- */
-typedef enum EHTTPStatusCode
-{
- /* Invalid status code (this isn't defined in HTTP, used to indicate unset
- * in our code) */
-
- k_EHTTPStatusCodeInvalid = 0,
-
- /* Informational codes */
- k_EHTTPStatusCode100Continue = 100,
- k_EHTTPStatusCode101SwitchingProtocols = 101,
-
- /* Success codes */
- k_EHTTPStatusCode200OK = 200,
- k_EHTTPStatusCode201Created = 201,
- k_EHTTPStatusCode202Accepted = 202,
- k_EHTTPStatusCode203NonAuthoritative = 203,
- k_EHTTPStatusCode204NoContent = 204,
- k_EHTTPStatusCode205ResetContent = 205,
- k_EHTTPStatusCode206PartialContent = 206,
-
- /* Redirection codes */
- k_EHTTPStatusCode300MultipleChoices = 300,
- k_EHTTPStatusCode301MovedPermanently = 301,
- k_EHTTPStatusCode302Found = 302,
- k_EHTTPStatusCode303SeeOther = 303,
- k_EHTTPStatusCode304NotModified = 304,
- k_EHTTPStatusCode305UseProxy = 305,
-
- /* (used in old HTTP spec, now unused in 1.1)
- k_EHTTPStatusCode306Unused = 306,
- */
-
- k_EHTTPStatusCode307TemporaryRedirect = 307,
-
- /* Error codes */
- k_EHTTPStatusCode400BadRequest = 400,
-
- /*
- * You probably want 403 or something else. 401 implies you're sending a
- * WWW-Authenticate header and the client can sent an Authorization header in
- * response.
- */
- k_EHTTPStatusCode401Unauthorized = 401,
-
- /* This is reserved for future HTTP specs, not really supported by clients */
- k_EHTTPStatusCode402PaymentRequired = 402,
- k_EHTTPStatusCode403Forbidden = 403,
- k_EHTTPStatusCode404NotFound = 404,
- k_EHTTPStatusCode405MethodNotAllowed = 405,
- k_EHTTPStatusCode406NotAcceptable = 406,
- k_EHTTPStatusCode407ProxyAuthRequired = 407,
- k_EHTTPStatusCode408RequestTimeout = 408,
- k_EHTTPStatusCode409Conflict = 409,
- k_EHTTPStatusCode410Gone = 410,
- k_EHTTPStatusCode411LengthRequired = 411,
- k_EHTTPStatusCode412PreconditionFailed = 412,
- k_EHTTPStatusCode413RequestEntityTooLarge=413,
- k_EHTTPStatusCode414RequestURITooLong = 414,
- k_EHTTPStatusCode415UnsupportedMediaType =415,
- k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416,
- k_EHTTPStatusCode417ExpectationFailed = 417,
-
- /* 418 is reserved, so we'll use it to mean unknown */
- k_EHTTPStatusCode4xxUnknown = 418,
- k_EHTTPStatusCode429TooManyRequests = 429,
- k_EHTTPStatusCode444ConnectionClosed = 444, /* nginx only? */
-
- /* Server error codes */
- k_EHTTPStatusCode500InternalServerError = 500,
- k_EHTTPStatusCode501NotImplemented = 501,
- k_EHTTPStatusCode502BadGateway = 502,
- k_EHTTPStatusCode503ServiceUnavailable = 503,
- k_EHTTPStatusCode504GatewayTimeout = 504,
- k_EHTTPStatusCode505HTTPVersionNotSupported = 505,
- k_EHTTPStatusCode5xxUnknown = 599,
-}
-EHTTPStatusCode;
-
-enum EHTTPMethod
-{
- k_EHTTPMethodInvalid = 0,
- k_EHTTPMethodGET,
- k_EHTTPMethodHEAD,
- k_EHTTPMethodPOST,
- k_EHTTPMethodPUT,
- k_EHTTPMethodDELETE,
- k_EHTTPMethodOPTIONS,
- k_EHTTPMethodPATCH,
-
- /* The remaining HTTP methods are not yet supported, per rfc2616 section
- * 5.1.1 only GET and HEAD are required for a compliant general purpose
- * server. We'll likely add more as we find uses for them.
- *
- * k_EHTTPMethodTRACE,
- * k_EHTTPMethodCONNECT
- */
-};
-typedef enum EHTTPMethod EHTTPMethod;
-
-typedef u32 HTTPRequestHandle;
-
-#ifdef VALVE_CALLBACK_PACK_SMALL
- #pragma pack( push, 4 )
-#else
- #pragma pack( push, 8 )
-#endif
-
-typedef struct HTTPRequestCompleted_t HTTPRequestCompleted_t;
-struct HTTPRequestCompleted_t
-{
- HTTPRequestHandle m_hRequest;
- u64 m_ulContextValue;
- int m_bRequestSuccessful;
- EHTTPStatusCode m_eStatusCode;
- u32 m_unBodySize;
-};
-
-#pragma pack(pop)
-
-/*
- * Methods
- * TODO: Copy steamworks documentation here
- */
-
-void *SteamAPI_SteamGameServerHTTP_v003(void);
-void *SteamAPI_SteamGameServerHTTP(void)
-{
- return SteamAPI_SteamGameServerHTTP_v003();
-}
-
-/* Interfaces */
-void *SteamAPI_SteamHTTP_v003(void);
-void *SteamAPI_SteamHTTP(void)
-{
- return SteamAPI_SteamHTTP_v003();
-}
-
-HTTPRequestHandle SteamAPI_ISteamHTTP_CreateHTTPRequest(
- void *self, EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL );
-
-int SteamAPI_ISteamHTTP_SendHTTPRequest( void* self, HTTPRequestHandle hRequest,
- SteamAPICall_t * pCallHandle );
-
-int SteamAPI_ISteamHTTP_ReleaseHTTPRequest( void *self,
- HTTPRequestHandle hRequest );
-
-int SteamAPI_ISteamHTTP_GetHTTPResponseBodySize( void *self,
- HTTPRequestHandle hRequest, u32 *unBodySize );
-
-int SteamAPI_ISteamHTTP_GetHTTPResponseBodyData( void* self,
- HTTPRequestHandle hRequest, u8 *pBodyDataBuffer, u32 unBufferSize );
-
-#endif /* VG_STEAM_HTTP_H */