Network API
Handles Networking related operations.
network.disableRateLimit
Signatures
disableRateLimit(opts \ [])
Description
Disable network rate limiting.
Removes any active bandwidth restrictions and returns network to full speed.
Options
delay
- Delay in milliseconds before disabling rate limiting (default: 0)
Example
-- Disable rate limiting immediately
network.disableRateLimit()
-- Disable rate limiting after 1 second
network.disableRateLimit({delay = 1000})
network.enableRateLimit
Signatures
enableRateLimit(limit_down_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit, opts)
Description
Enable network rate limiting with download speed limit only.
Restricts the download bandwidth to the specified limit. Upload bandwidth remains unlimited.
Parameters
limit_down_mbit
- Download speed limit in megabits per second
Example
-- Limit download to 10 Mbps
network.enableRateLimit(10)
network.enableRateLimit
Signatures
enableRateLimit(limit_down_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit, opts)
Description
Enable network rate limiting with both download and upload speed limits.
Restricts both download and upload bandwidth to the specified limits.
Parameters
limit_down_mbit
- Download speed limit in megabits per secondlimit_up_mbit
- Upload speed limit in megabits per second
Example
-- Limit download to 10 Mbps and upload to 5 Mbps
network.enableRateLimit(10, 5)
network.enableRateLimit
Signatures
enableRateLimit(limit_down_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit)
enableRateLimit(limit_down_mbit, limit_up_mbit, opts)
Description
Enable network rate limiting with download, upload limits and additional options.
Restricts both download and upload bandwidth with support for delayed activation.
Parameters
limit_down_mbit
- Download speed limit in megabits per secondlimit_up_mbit
- Upload speed limit in megabits per secondopts
- Options table
Options
delay
- Delay in milliseconds before enabling rate limiting (default: 0)
Example
-- Enable rate limiting after 2 seconds
network.enableRateLimit(10, 5, {delay = 2000})
network.isRateLimitActive
Signatures
isRateLimitActive()
Description
Check if network rate limiting is currently active.
Returns the current status of network rate limiting.
Returns true
if rate limiting is enabled, false
otherwise.
Example
local is_limited = network.isRateLimitActive()
if is_limited then
print("Network rate limiting is currently active")
else
print("Network is running at full speed")
end
network.request
Signatures
request(url, opts \ [])
Description
Makes an HTTP request and returns the response.
Options
- method: HTTP method (e.g., "GET", "POST", "PUT", "DELETE")
- headers: A table of HTTP headers
- body: The request body (for POST, PUT, etc.). Maximum size is 10 MB.
- auth: Authentication method and credentials
- params: Query parameters
- timeout: Request timeout in milliseconds
Returns a table with:
- status: HTTP status code
- body: Response body (decoded)
- error: Error message (if any)
Example
local response = network.request("https://api.example.com/data", {
method = "GET",
headers = {["Content-Type"] = "application/json"},
auth = {type = "bearer", token = "my-token"},
params = {limit = 10, offset = 0}
})
Only supports json at the moment
network.stats
Signatures
stats()
Description
Get network interface statistics.
Returns detailed network statistics including bytes transferred, packets, errors, and other network metrics.
Returns a table containing network statistics with the following fields:
rx_bytes
- Bytes receivedtx_bytes
- Bytes transmittedrx_packets
- Packets receivedtx_packets
- Packets transmittedrx_errors
- Receive errorstx_errors
- Transmit errorsrx_dropped
- Dropped received packetstx_dropped
- Dropped transmitted packetsmulticast
- Multicast packetscollisions
- Network collisions
Example
local stats = network.stats()
for i, stat_table in ipairs(stats) do
for j, stat in ipairs(stat_table) do
local name, value = stat[1], stat[2]
print(name .. ": " .. value)
end
end