SkillAgentSearch skills...

Gluahttp

gluahttp: an http module for gopher-lua

Install / Use

/learn @cjoudrey/Gluahttp
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

gluahttp

gluahttp provides an easy way to make HTTP requests from within GopherLua.

Installation

go get github.com/cjoudrey/gluahttp

Usage

import "github.com/yuin/gopher-lua"
import "github.com/cjoudrey/gluahttp"

func main() {
    L := lua.NewState()
    defer L.Close()

    L.PreloadModule("http", NewHttpModule(&http.Client{}).Loader)

    if err := L.DoString(`

        local http = require("http")

        response, error_message = http.request("GET", "http://example.com", {
            query="page=1",
            timeout="30s",
            headers={
                Accept="*/*"
            }
        })

    `); err != nil {
        panic(err)
    }
}

API

http.delete(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.get(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.head(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.patch(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | body | String | Request body. | | form | String | Deprecated. URL encoded request body. This will also set the Content-Type header to application/x-www-form-urlencoded | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.post(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | body | String | Request body. | | form | String | Deprecated. URL encoded request body. This will also set the Content-Type header to application/x-www-form-urlencoded | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.put(url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | body | String | Request body. | | form | String | Deprecated. URL encoded request body. This will also set the Content-Type header to application/x-www-form-urlencoded | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.request(method, url [, options])

Attributes

| Name | Type | Description | | ------- | ------ | ----------- | | method | String | The HTTP request method | | url | String | URL of the resource to load | | options | Table | Additional options |

Options

| Name | Type | Description | | ------- | ------ | ----------- | | query | String | URL encoded query params | | cookies | Table | Additional cookies to send with the request | | body | String | Request body. | | form | String | Deprecated. URL encoded request body. This will also set the Content-Type header to application/x-www-form-urlencoded | | headers | Table | Additional headers to send with the request | | timeout | Number/String | Request timeout. Number of seconds or String such as "1h" | | auth | Table | Username and password for HTTP basic auth. Table keys are user for username, pass for passwod. auth={user="user", pass="pass"} |

Returns

http.response or (nil, error message)

http.request_batch(requests)

Attributes

| Name | Type | Description | | -------- | ----- | ----------- | | requests | Table | A table of requests to send. Each request item is by itself a table containing http.request parameters for the request |

Returns

[http.response] or ([http.response], [error message])

http.response

The http.response table contains information about a completed HTTP request.

Attributes

| Name | Type | Description | | ----------- | ------ | ----------- | | body | String | The HTTP response body | | body_size | Number | The size of the HTTP reponse body in bytes | | headers | Table | The HTTP response headers | | cookies | Table | The cookies sent by the server in the HTTP response | | status_code | Number | The HTTP response status code | | url | String | The final URL the request ended pointing to after redirects |

View on GitHub
GitHub Stars66
CategoryDevelopment
Updated29d ago
Forks24

Languages

Go

Security Score

95/100

Audited on Mar 2, 2026

No findings