Steamworks Documentation
ISteamHTTP Interface
A small and easy to use HTTP client to send and receive data from the web.

Member Functions

Member functions for ISteamHTTP are called through the global accessor function SteamHTTP().

CreateCookieContainer

HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify );
NameTypeDescription
bAllowResponsesToModifyboolSet whether the server can set cookies in this container.

Creates a cookie container to store cookies during the lifetime of the process.

This API is just for during process lifetime, after Steam restarts no cookies are persisted and you have no way to access the cookie container across repeat executions of your process.

If bAllowResponsesToModify is true then any response to your requests using this cookie container may add new cookies to the container which may be transmitted with future requests. Otherwise, if it's false then only cookies you explicitly set will be sent.

You can associate the cookie container with a http request by using SetHTTPRequestCookieContainer, and you can set a cookie using SetCookie.

Don't forget to free the container when you're done with it to prevent leaking memory by calling ReleaseCookieContainer!

Returns: HTTPCookieContainerHandle
Returns a new cookie container handle to be used with future calls to SteamHTTP functions.

CreateHTTPRequest

HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL );
NameTypeDescription
eHTTPRequestMethodEHTTPMethodThe type of request to make with this request.
pchAbsoluteURLconst char *The url to request. Must start with "http://" or "https://".

Initializes a new HTTP request.

Requires the method such as GET or POST and the absolute URL for the request. Both http and https are supported, so this string must start with "http://" or "https://" and should look like "http://store.steampowered.com/app/10/" or similar. This call returns a handle that you can use to make further calls to setup and then send the HTTP request with SendHTTPRequest or SendHTTPRequestAndStreamResponse.

Don't forget to free the HTTP request when you're done with it to prevent leaking memory by calling ReleaseHTTPRequest!

Returns: HTTPRequestHandle
Returns a new request handle to be used with future calls to SteamHTTP functions. Returns INVALID_HTTPREQUEST_HANDLE if pchAbsoluteURL is NULL or empty ("").

DeferHTTPRequest

bool DeferHTTPRequest( HTTPRequestHandle hRequest );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to defer.

Defers a request which has already been sent by moving it at the back of the queue.

Returns: bool
Returns true if the request has been successfully defered. Otherwise false if hRequest is an invalid handle, or if the request has not been sent yet.

See Also: SendHTTPRequest, SendHTTPRequestAndStreamResponse

GetHTTPDownloadProgressPct

bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to get the download percentage for.
pflPercentOutfloat *Returns the download percentage if the call was successful.

Gets progress on downloading the body for the request.

This will be zero unless a response header has already been received which included a content-length field. For responses that contain no content-length it will report zero for the duration of the request as the size is unknown until the connection closes.

Returns: bool
Returns true upon success if the download percentage was successfully returned. Otherwise, false if the handle is invalid or pflPercentOut is NULL.

GetHTTPRequestWasTimedOut

bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to check the failure reason for.
pbWasTimedOutbool *Returns whether the request was timed out or not.

Check if the reason the request failed was because we timed it out (rather than some harder failure).

You'll want to call this within the context of HTTPRequestCompleted_t if m_bRequestSuccessful is false.

Returns: bool
Returns true upon success if we successfully checked .
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.

GetHTTPResponseBodyData

bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to get the response body data for.
pBodyDataBufferuint8 *The buffer where the data will be copied into.
unBufferSizeuint32This should be the size of pBodyDataBuffer in bytes.

Gets the body data from an HTTP response.

This must be called after the HTTP request has completed and returned the HTTP response via the HTTPRequestCompleted_t call result associated with this request handle. You should first call GetHTTPResponseBodySize or use the m_unBodySize variable provided in the call result, you can then allocate a buffer with that size to pass into this function.

This is only for HTTP requests which were sent with SendHTTPRequest. Use GetHTTPStreamingResponseBodyData if you're using streaming HTTP requests via SendHTTPRequestAndStreamResponse.

Returns: bool
Returns true upon success indicating that pBodyDataBuffer has been filled with the body data.
Otherwise, returns false under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.
  • The request is a streaming request.
  • pBodyDataBuffer is NULL.
  • unBufferSize is not the same size that was provided by GetHTTPResponseBodySize.

GetHTTPResponseBodySize

bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to get the response body size for.
unBodySizeuint32 *Returns the size of the response body.

Gets the size of the body data from an HTTP response.

This must be called after the HTTP request has completed and returned the HTTP response via the HTTPRequestCompleted_t or HTTPRequestDataReceived_t associated with this request handle. If this returns successfully, then you can allocate a buffer with the provided size to fill with the data obtained from GetHTTPResponseBodyData or GetHTTPStreamingResponseBodyData.

Returns: bool
Returns true upon success indicating that unBodySize has been filled with the size.
Otherwise, returns false under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.
  • unBodySize is NULL.

GetHTTPResponseHeaderSize

bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to check for the response header name.
pchHeaderNameconst char *The header name to check.
unResponseHeaderSizeuint32 *Returns the size of the response header, if it is present in the response.

Checks if a header is present in an HTTP response and returns its size.

This must be called after the HTTP request has completed and returned the HTTP response via the HTTPRequestCompleted_t call result associated with this request handle. If the response header exists in the response, then you can allocate a correctly sized buffer to get the associated value with GetHTTPResponseHeaderValue.

Here is a list of standard response header names on wikipedia.

Returns: bool
Returns true if the header name is present in the response and unResponseHeaderSize has been filled with the size of the header value.
Otherwise, returns false and sets unResponseHeaderSize to 0 under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.
  • pchHeaderName is NULL.
  • unResponseHeaderSize is NULL.
  • The header name is not present in the response.

GetHTTPResponseHeaderValue

bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to get the response header value for.
pchHeaderNameconst char *The header name to get the header value for.
pHeaderValueBufferuint8 *The buffer where the value will be copied into.
unBufferSizeuint32This should be the size of pHeaderValueBuffer in bytes.

Gets a header value from an HTTP response.

This must be called after the HTTP request has completed and returned the HTTP response via the HTTPRequestCompleted_t call result associated with this request handle. You should first call GetHTTPResponseHeaderSize to check for the presence of the header and to get the size. You can then allocate a buffer with that size and pass it into this function.

Here is a list of standard response header names on wikipedia.

Returns: bool
Returns true upon success indicating that pHeaderValueBuffer has been filled with the header value.
Otherwise, returns false under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.
  • pchHeaderName is NULL.
  • pHeaderValueBuffer is NULL.
  • The header name is not present in the response.
  • unBufferSize is not large enough to hold the value.

GetHTTPStreamingResponseBodyData

bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to get the response body data for.
cOffsetuint32This must be the offset provided by HTTPRequestDataReceived_t.
pBodyDataBufferuint8 *Returns the data by copying it into this buffer.
unBufferSizeuint32This must be the size provided by HTTPRequestDataReceived_t.

Gets the body data from a streaming HTTP response.

This must be called after data is received from a streaming HTTP request via the HTTPRequestDataReceived_t callback associated with this request handle. Typically you'll want to allocate a buffer associated with the request handle using the Content-Length HTTP response field to receive the total size of the data when you receive the header via HTTPRequestHeadersReceived_t. You can then append data to that buffer as it comes in.

This is only for streaming HTTP requests which were sent with SendHTTPRequestAndStreamResponse. Use GetHTTPResponseBodyData if you're using SendHTTPRequest.

Returns: bool
Returns true upon success indicating that pBodyDataBuffer has been filled with the body data.
Otherwise, returns false under the following conditions:
  • hRequest was invalid.
  • The request has not been sent or has not completed.
  • The request is not a streaming request.
  • cOffset is not the same offset that was provided by HTTPRequestDataReceived_t.
  • unBufferSize is not the same size that was provided by HTTPRequestDataReceived_t.

PrioritizeHTTPRequest

bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to prioritize.

Prioritizes a request which has already been sent by moving it at the front of the queue.

Returns: bool
Returns true if the request has been successfully prioritized. Otherwise false if hRequest is an invalid handle, or if the request has not been sent yet.

See Also: SendHTTPRequest, SendHTTPRequestAndStreamResponse

ReleaseCookieContainer

bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer );
NameTypeDescription
hCookieContainerHTTPCookieContainerHandleThe cookie container handle to release.

Releases a cookie container, freeing the memory allocated within Steam.

You MUST call this when you are done using each HTTPCookieContainerHandle that you obtained via CreateCookieContainer!

Returns: bool
Returns true if the handle has been freed; otherwise, false if the handle was invalid.

ReleaseHTTPRequest

bool ReleaseHTTPRequest( HTTPRequestHandle hRequest );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to release.

Releases an HTTP request handle, freeing the memory allocated within Steam.

You MUST call this when you are done using each HTTPRequestHandle that you obtained via CreateHTTPRequest!

Returns: bool
Returns true if the the handle was released successfully, false only if the handle is invalid.

SendHTTPRequest

bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to send.
pCallHandleSteamAPICall_t *Returns a call result handle to receive the response.

Sends an HTTP request.

This call is asynchronous and provides a call result handle which you must use to track the call to its completion. If you have multiple requests in flight at the same time you can use PrioritizeHTTPRequest or DeferHTTPRequest to set the priority of the request.

If the user is in offline mode in Steam, then this will add an only-if-cached cache-control header and only do a local cache lookup rather than sending any actual remote request.

If the data you are expecting is large, you can use SendHTTPRequestAndStreamResponse to stream the data in chunks.

Returns: bool
Triggers a HTTPRequestCompleted_t callback.
Returns true upon successfully setting the parameter.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.
  • pCallHandle is NULL.

SendHTTPRequestAndStreamResponse

bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to send.
pCallHandleSteamAPICall_t *Returns a call result handle to receive the response.

Sends an HTTP request and streams the response back in chunks.

This call is asynchronous and provides a call result handle which you must use to track the call to its completion. Typically you'll want to allocate a buffer associated with the request handle using the Content-Length HTTP response field to receive the total size of the data when you receive the header via HTTPRequestHeadersReceived_t. You can then append data to that buffer as it comes in.

If you have multiple requests in flight at the same time you can use PrioritizeHTTPRequest or DeferHTTPRequest to set the priority of the request.

If the user is in offline mode in Steam, then this will add an only-if-cached cache-control header and only do a local cache lookup rather than sending any actual remote request.

If the data you are expecting is small (on the order of a few megabytes or less) then you'll likely want to use SendHTTPRequest.

Returns: bool
Triggers a HTTPRequestDataReceived_t callback.
Triggers a HTTPRequestHeadersReceived_t callback.
Triggers a HTTPRequestCompleted_t callback.
Returns true upon successfully setting the parameter.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.
  • pCallHandle is NULL.

SetCookie

bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie );
NameTypeDescription
hCookieContainerHTTPCookieContainerHandleThe cookie container to set the the cookie in.
pchHostconst char *The host to set this cookie for.
pchUrlconst char *The url to set this cookie for.
pchCookieconst char *The cookie to set.

Adds a cookie to the specified cookie container that will be used with future requests.

Returns: bool
Returns true if the cookie was set successfully. Otherwise, false if the request handle was invalid or if there was a security issue parsing the cookie.

SetHTTPRequestAbsoluteTimeoutMS

bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the timeout on.
unMillisecondsuint32The length of the timeout period in milliseconds.

Set an absolute timeout in milliseconds for the HTTP request.

This is the total time timeout which is different than the network activity timeout which is set with SetHTTPRequestNetworkActivityTimeout which can bump everytime we get more data.

Returns: bool
Returns true upon successfully setting the timeout.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.

SetHTTPRequestContextValue

bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the context value on.
ulContextValueuint64The context value to set.

Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after sending the request.

This allows the caller to set a context ID that can enable attribution of a particular callback to a particular request.

Must be called before sending the request.

Returns: bool
Returns true upon successfully setting the context value.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.

SetHTTPRequestCookieContainer

bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to associate the cookie container with.
hCookieContainerHTTPCookieContainerHandleThe cookie container handle to associate with the request handle.

Associates a cookie container to use for an HTTP request.

Returns: bool
Returns true upon successfully setting the cookie container.
Returns false under the following conditions:
  • hRequest was invalid.
  • hCookieContainer was invalid.

SetHTTPRequestGetOrPostParameter

bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the parameter on.
pchParamNameconst char *Parameter name field.
pchParamValueconst char *Value to associate with the name field.

Set a GET or POST parameter value on the HTTP request.

Must be called prior to sending the request.

Returns: bool
Returns true upon successfully setting the parameter.
Returns false under the following conditions:

SetHTTPRequestHeaderValue

bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the header value for.
pchHeaderNameconst char *The header name field.
pchHeaderValueconst char *Value to associate with the header name field.

Set a request header value for the HTTP request.

Must be called before sending the request.

A full list of standard request fields are available here on wikipedia. The User-Agent field is explicitly disallowed as it gets overwritten when the request is sent.

Returns: bool
Returns true upon successfully setting the header value.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.
  • pchHeaderName is "User-Agent".
  • pchHeaderName or pchHeaderValue are NULL.

SetHTTPRequestNetworkActivityTimeout

bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the timeout on.
unTimeoutSecondsuint32The length of the timeout period in seconds.

Set the timeout in seconds for the HTTP request.

The default timeout is 60 seconds if you don't call this. This can get bumped everytime we get more data. Use SetHTTPRequestAbsoluteTimeoutMS if you need a strict maximum timeout.

Returns: bool
Returns true upon successfully setting the timeout.
Returns false under the following conditions:
  • hRequest was invalid.
  • The request has already been sent.

SetHTTPRequestRawPostBody

bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the post body on.
pchContentTypeconst char *Sets the value of the calls "content-type" http header.
pubBodyuint8 *The raw POST body data to set.
unBodyLenuint32The length of the body data passed into pubBody.

Sets the body for an HTTP Post request.

Will fail and return false on a GET request, and will fail if POST params have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType parameter will set the "content-type" header for the request to inform the server how to interpret the body.

Returns: bool
Returns true upon success indicating that the content-type field and the body data have been set.
Otherwise, returns false under the following conditions:

SetHTTPRequestRequiresVerifiedCertificate

bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set whether the request requires a verified certificate.
bRequireVerifiedCertificateboolTurn on verified certificate?

Sets that the HTTPS request should require verified SSL certificate via machines certificate trust store.

This currently only works Windows and macOS.

Returns: bool
Returns true upon success. Otherwise, false if the request handle is invalid.

SetHTTPRequestUserAgentInfo

bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo );
NameTypeDescription
hRequestHTTPRequestHandleThe request handle to set the user agent info for.
pchUserAgentInfoconst char *The string to append to the end of the user agent.

Set additional user agent info for a request.

This doesn't clobber the normal user agent, it just adds the extra info on the end. Sending NULL or an empty string resets the user agent info to the default value.

Returns: bool
Returns true upon success indicating that the user agent has been updated. Otherwise, false if the request handle is invalid.

Callbacks

These are callbacks which can be fired by calling SteamAPI_RunCallbacks. Many of these will be fired directly in response to the member functions of ISteamHTTP.

HTTPRequestCompleted_t

Result when an HTTP request completes.
If you're using GetHTTPStreamingResponseBodyData then you should be using the HTTPRequestHeadersReceived_t or HTTPRequestDataReceived_t.

NameTypeDescription
m_hRequestHTTPRequestHandleHandle for the request that has completed. You should call ReleaseHTTPRequest on this handle to free the resources when you're done using it, which is typically in this callback.
m_ulContextValueuint64Context value that the user defined on the request with SetHTTPRequestContextValue that this callback is associated with. 0 if
no context value was set.
m_bRequestSuccessfulboolThis will be true if the request actually got any sort of response from the server (even an error).
Otherwise it will be false if the request failed due to an internal error or client side network failure.
m_eStatusCodeEHTTPStatusCodeWill be the HTTP status code value returned by the server.
k_EHTTPStatusCode200OK is the normal OK response, if you get something else you probably need to treat it as a failure.
m_unBodySizeuint32The size of the request body in bytes. This is the same as GetHTTPResponseBodySize.

Associated Functions: SendHTTPRequest, SendHTTPRequestAndStreamResponse

HTTPRequestDataReceived_t

Triggered when a chunk of data is received from a streaming HTTP request.

NameTypeDescription
m_hRequestHTTPRequestHandleHandle value for the request that has received data.
m_ulContextValueuint64Context value that the user defined on the request that this callback is associated with, 0 if
no context value was set.
m_cOffsetuint32Offset to provide to GetHTTPStreamingResponseBodyData to get this chunk of data
m_cBytesReceiveduint32Size in bytes to provide to GetHTTPStreamingResponseBodyData to get this chunk of data

Associated Functions: SendHTTPRequestAndStreamResponse

HTTPRequestHeadersReceived_t

Triggered when HTTP headers are received from a streaming HTTP request.

NameTypeDescription
m_hRequestHTTPRequestHandleHandle value for the request that has received headers.
m_ulContextValueuint64Context value that the user defined on the request that this callback is associated with, 0 if
no context value was set.

Associated Functions: SendHTTPRequestAndStreamResponse

Enums

These are enums which are defined for use with ISteamHTTP.

EHTTPMethod

Used to set the HTTP request method in CreateHTTPRequest. For the most part you should only ever need GET or POST.

You can read more about HTTP request methods on the Mozilla Developer Network.

NameValueDescription
k_EHTTPMethodInvalid0Invalid.
k_EHTTPMethodGET1The HTTP Method is set to GET.
k_EHTTPMethodHEAD2The HTTP Method is set to HEAD.
k_EHTTPMethodPOST3The HTTP Method is set to POST.
k_EHTTPMethodPUT4The HTTP Method is set to PUT.
k_EHTTPMethodDELETE5The HTTP Method is set to DELETE.
k_EHTTPMethodOPTIONS6The HTTP Method is set to OPTIONS.
k_EHTTPMethodPATCH7The HTTP Method is set to PATCH.

EHTTPStatusCode

HTTP response status codes that the server can send in response to a request.

See the Mozilla Developer Network or RFC2616 section 10.3 for detailed descriptions for each of these.

NameValueDescription
k_EHTTPStatusCodeInvalid0Invalid status code. This isn't defined in HTTP, used to indicate unset in our code.
k_EHTTPStatusCode100Continue100
k_EHTTPStatusCode101SwitchingProtocols101
k_EHTTPStatusCode200OK200
k_EHTTPStatusCode201Created201
k_EHTTPStatusCode202Accepted202
k_EHTTPStatusCode203NonAuthoritative203
k_EHTTPStatusCode204NoContent204
k_EHTTPStatusCode205ResetContent205
k_EHTTPStatusCode206PartialContent206
k_EHTTPStatusCode300MultipleChoices300
k_EHTTPStatusCode301MovedPermanently301
k_EHTTPStatusCode302Found302
k_EHTTPStatusCode303SeeOther303
k_EHTTPStatusCode304NotModified304
k_EHTTPStatusCode305UseProxy305
k_EHTTPStatusCode307TemporaryRedirect307
k_EHTTPStatusCode400BadRequest400
k_EHTTPStatusCode401Unauthorized401You 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_EHTTPStatusCode402PaymentRequired402This is reserved for future HTTP specs, not really supported by clients.
k_EHTTPStatusCode403Forbidden403
k_EHTTPStatusCode404NotFound404
k_EHTTPStatusCode405MethodNotAllowed405
k_EHTTPStatusCode406NotAcceptable406
k_EHTTPStatusCode407ProxyAuthRequired407
k_EHTTPStatusCode408RequestTimeout408
k_EHTTPStatusCode409Conflict409
k_EHTTPStatusCode410Gone410
k_EHTTPStatusCode411LengthRequired411
k_EHTTPStatusCode412PreconditionFailed412
k_EHTTPStatusCode413RequestEntityTooLarge413
k_EHTTPStatusCode414RequestURITooLong414
k_EHTTPStatusCode415UnsupportedMediaType415
k_EHTTPStatusCode416RequestedRangeNotSatisfiable416
k_EHTTPStatusCode417ExpectationFailed417
k_EHTTPStatusCode4xxUnknown418418 is reserved, so we use it to mean unknown.
k_EHTTPStatusCode429TooManyRequests429
k_EHTTPStatusCode500InternalServerError500
k_EHTTPStatusCode501NotImplemented501
k_EHTTPStatusCode502BadGateway502
k_EHTTPStatusCode503ServiceUnavailable503
k_EHTTPStatusCode504GatewayTimeout504
k_EHTTPStatusCode505HTTPVersionNotSupported505
k_EHTTPStatusCode5xxUnknown599

Typedefs

These are typedefs which are defined for use with ISteamHTTP.

NameBase typeDescription
HTTPCookieContainerHandleuint32
HTTPRequestHandleuint32Handle to a HTTP Request handle

Constants

These are constants which are defined for use with ISteamHTTP.

NameTypeValueDescription
INVALID_HTTPCOOKIE_HANDLEint0
INVALID_HTTPREQUEST_HANDLEint0
STEAMHTTP_INTERFACE_VERSIONconst char *"STEAMHTTP_INTERFACE_VERSION002"