Syntax
HttpPost(context: DataModel, url: string, body?: string, contentTypeOrCompatibility?: string | number | boolean, headersOrContentType?: table | string, headers?: table): stringArguments
| Name | Type | Description |
|---|---|---|
context | DataModel | Method-call self value. Use game:HttpPost(...) or game:HttpPostAsync(...). |
url | string | URL string to request. |
body? | string | Optional request body. Defaults to an empty string. |
contentTypeOrCompatibility? | string | number | boolean | Normally the content type string. A number uses legacy timeout mode, and a boolean uses legacy compression mode. |
headersOrContentType? | table | string | Optional headers table in the normal call shape, or optional content type string in legacy mode. |
headers? | table | Optional headers table used only in legacy mode. Keys and values must be strings without CR or LF. |
Returns
| Name | Type | Description |
|---|---|---|
body | string | Response body string or request error string. |
Description
Performs a POST request for game:HttpPost(...) or game:HttpPostAsync(...) and returns the response body string or a request error string. The URL must pass Real's URL restrictions.
Call it with 6 parameter(s): context, url, body, contentTypeOrCompatibility, headersOrContentType, headers. The argument table explains which values are required and which ones only refine the behavior.
It returns body (string). Use the returns table to separate successful values from nil results and recoverable errors.
Example
Run a DataModel-style POST request and return the response body string.
local body = game:HttpPost(
"https://example.com",
'{"hello":"world"}',
"application/json",
{ ["X-Example"] = "Real" }
)
print(body)