---
title: "HTTP types & behavior"
description: "Object fields, option tables, and behavior for HTTP."
---


## Request options

| Field | Type | Default / behavior |
| --- | --- | --- |
| Url | string | Required; starts with http:// or https:// |
| Method | string | GET; case-insensitive GET, HEAD, POST, PUT, DELETE, OPTIONS |
| Headers | table of string keys and values | Optional; Content-Length cannot be overridden |
| Cookies | table of string keys and values | Optional |
| Body | string | Optional; rejected for GET/HEAD |

There is no implemented Timeout, Redirect, or PATCH option in this wrapper. Unsupported methods raise. Non-table Headers/Cookies and non-string Body are ignored by the native parser rather than validated as a full schema.

## Response table

| Field | Type | Meaning |
| --- | --- | --- |
| Success | boolean | HTTP status is 200 through 299 |
| StatusCode | number | Numeric HTTP status |
| StatusMessage | string | Built-in reason phrase; empty when unknown |
| Headers | table | Response header names to values; do not depend on case |
| Cookies | table | Response cookie names to values |
| Body | string | Binary-safe response body |

HTTP errors such as 404 produce a table with Success=false. Transport failures can return a string. Wrap the call in pcall for validation errors and test the result type before indexing it.

The wrapper adds executor identity/fingerprint headers; endpoints whose URL contains luarmor.net or eclipsehub.xyz use Seliware-branded headers in this snapshot. This is observable behavior, not a different executor implementation. HTTP helper calls may also add session/place/game headers; those values depend on the native game-value checks.

Use the global HttpPost(url, body) form. In receiver style, HttpPost(game, url, body) tests argument 2 first and can send url as the body. For JSON or explicit headers use request.
