> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# httpProvider (contents)

> httpProvider

## Functions

| Function | Description |
| - | - |
| [HCGetHttpCallPerformFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcgethttpcallperformfunction.md) | Returns the current HCCallPerformFunction callback which implements the HTTP perform function on the current platform. |
| [HCGetWebSocketFunctions](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcgetwebsocketfunctions.md) | Gets the functions that implement the WebSocket functions. |
| [HCHttpCallGetContext](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallgetcontext.md) | Gets the context pointer attached to this call object. |
| [HCHttpCallRequestGetDynamicBytesWritten](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetdynamicbyteswritten.md) | Gets the dynamic request body size and bytes written for progress reporting. |
| [HCHttpCallRequestGetHeader](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetheader.md) | Get a request header for the HTTP call for a given header name. |
| [HCHttpCallRequestGetHeaderAtIndex](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetheaderatindex.md) | Gets the request headers at specific zero based index in the HTTP call. |
| [HCHttpCallRequestGetMaxReceiveBufferSize](https://docs.xbox.com/reference/live/httpclient/httpclient/functions/hchttpcallrequestgetmaxreceivebuffersize.md) | Gets the maximum receive buffer size for an HTTP call. Also declared in httpClient.h. |
| [HCHttpCallRequestGetNumHeaders](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetnumheaders.md) | Gets the number of request headers in the HTTP call. |
| [HCHttpCallRequestGetProgressReportFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetprogressreportfunction.md) | Gets the upload or download progress callback that the title set on an HTTP call. |
| [HCHttpCallRequestGetRequestBodyBytes](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetrequestbodybytes.md) | Gets the request body bytes of the HTTP call. |
| [HCHttpCallRequestGetRequestBodyReadFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetrequestbodyreadfunction.md) | Get the function used by the HTTP call to read the request body |
| [HCHttpCallRequestGetRequestBodyString](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetrequestbodystring.md) | Get the request body bytes of the HTTP call. |
| [HCHttpCallRequestGetRetryAllowed](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetretryallowed.md) | Gets if retry is allowed for this HTTP call. |
| [HCHttpCallRequestGetRetryCacheId](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetretrycacheid.md) | Gets the ID number of this REST endpoint used to cache the Retry-After header for fast fail. |
| [HCHttpCallRequestGetRetryDelay](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgetretrydelay.md) | Gets the HTTP retry delay in seconds. The default and minimum delay is 2 seconds. |
| [HCHttpCallRequestGetTimeout](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgettimeout.md) | Gets the timeout for this HTTP call. |
| [HCHttpCallRequestGetTimeoutWindow](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgettimeoutwindow.md) | Gets the HTTP timeout window in seconds. |
| [HCHttpCallRequestGetUrl](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallrequestgeturl.md) | Gets the URL and method for the HTTP call. |
| [HCHttpCallResponseAddDynamicBytesWritten](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponseadddynamicbyteswritten.md) | Reports bytes written for an HTTP response body that has a dynamic size. |
| [HCHttpCallResponseAppendResponseBodyBytes](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponseappendresponsebodybytes.md) | Appends to the response body byte buffer of the HTTP call. If a custom write callback was previously set on this call handle using HCHttpCallResponseSetResponseBodyWriteFunction, this operation will fail as these are mutually exclusive. |
| [HCHttpCallResponseGetDynamicBytesWritten](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsegetdynamicbyteswritten.md) | Gets the dynamic response body size and bytes written for progress reporting. |
| [HCHttpCallResponseSetDynamicSize](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetdynamicsize.md) | Marks an HTTP call as having a dynamic-size response body for progress reporting. |
| [HCHttpCallResponseSetHeader](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetheader.md) | Set a response header for the HTTP call. |
| [HCHttpCallResponseSetHeaderWithLength](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetheaderwithlength.md) | Set a response header for the HTTP call. |
| [HCHttpCallResponseSetNetworkErrorCode](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetnetworkerrorcode.md) | Set the network error code of the HTTP call. |
| [HCHttpCallResponseSetPlatformNetworkErrorMessage](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetplatformnetworkerrormessage.md) | Set the platform network error message of the HTTP call. |
| [HCHttpCallResponseSetResponseBodyBytes](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetresponsebodybytes.md) | Set the response body byte buffer of the HTTP call. If a custom write callback was previously set on this call handle using HCHttpCallResponseSetResponseBodyWriteFunction, this operation will fail as these are mutually exclusive. |
| [HCHttpCallResponseGetResponseBodyWriteFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsegetresponsebodywritefunction.md) | Get the function used by the HTTP call to write the response body. |
| [HCHttpCallResponseSetStatusCode](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetstatuscode.md) | Set the HTTP status code of the HTTP call response. |
| [HCHttpCallSetContext](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallsetcontext.md) | Sets the context pointer attached to this call object. |
| [HCSetHttpCallPerformFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcsethttpcallperformfunction.md) | Optionally allows the caller to implement the HTTP perform function. |
| [HCSetWebSocketFunctions](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcsetwebsocketfunctions.md) | Optionally allows the caller to implement the WebSocket functions. |
| [HCWebSocketGetHeader](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketgetheader.md) | Get a header for the WebSocket. |
| [HCWebSocketGetHeaderAtIndex](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketgetheaderatindex.md) | Gets the headers at specific zero based index in the WebSocket. |
| [HCWebSocketGetNumHeaders](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketgetnumheaders.md) | Gets the number of headers in the WebSocket. |
| [HCWebSocketGetPingInterval](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketgetpinginterval.md) | Gets the keepalive ping interval set for a WebSocket. |
| [HCWebSocketGetProxyUri](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketgetproxyuri.md) | Get the proxy URI for the WebSocket. |

## Callbacks

| Callback | Description |
| - | - |
| [HCCallPerformFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hccallperformfunction.md) | The callback that performs an HTTP call for HCSetHttpCallPerformFunction. |
| [HCWebSocketConnectFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketconnectfunction.md) | The callback that implements the WebSocket connect operation for HCSetWebSocketFunctions. |
| [HCWebSocketDisconnectFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketdisconnectfunction.md) | The callback that implements closing a WebSocket for HCSetWebSocketFunctions. |
| [HCWebSocketSendBinaryMessageFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketsendbinarymessagefunction.md) | The callback that implements sending a binary WebSocket message for HCSetWebSocketFunctions. |
| [HCWebSocketSendMessageFunction](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hcwebsocketsendmessagefunction.md) | The callback that implements sending a text WebSocket message for HCSetWebSocketFunctions. |


## Related topics

- [HttpClient API reference (contents)](https://docs.xbox.com/reference/live/httpclient/atoc-httpclient.md)
- [HCHttpCallResponseSetDynamicSize](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetdynamicsize.md)
- [HCHttpCallSetContext](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallsetcontext.md)
- [HCHttpCallGetContext](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallgetcontext.md)
- [HCHttpCallResponseSetHeader](https://docs.xbox.com/reference/live/httpclient/httpprovider/functions/hchttpcallresponsesetheader.md)
