Request()
Một module dùng để thực hiện các yêu cầu mạng (network request) ra internet, được giới thiệu từ phiên bản 1.0.0.31.
Hàm tạo
Request(url: string)
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| url | string | URL của trang web, có thể là https hoặc http |
Phương thức
setHeader(key: string, value: string): Request
Thiết lập một header tùy chỉnh cho yêu cầu HTTP.
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| key | string | Tên của header |
| value | string | Giá trị của header |
Trả về
Request - Trả về đối tượng Request để có thể gọi phương thức liên tiếp
setParameter(key: string, value: string): Request
Thiết lập một tham số cho phần thân yêu cầu (request body) (dùng với các yêu cầu POST/PUT).
Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
| key | string | Tên của tham số |
| value | string | Giá trị của tham số |
Trả về
Request - Trả về đối tượng Request để có thể gọi phương thức liên tiếp
get(): Response
Thực thi yêu cầu GET và trả về một đối tượng Response.
Trả về
Response - Đối tượng phản hồi chứa kết quả từ máy chủ
post(): Response
Thực thi yêu cầu POST và trả về một đối tượng Response.
Trả về
Response - Đối tượng phản hồi chứa kết quả từ máy chủ
put(): Response
Thực thi yêu cầu PUT và trả về một đối tượng Response.
Trả về
Response - Đối tượng phản hồi chứa kết quả từ máy chủ
delete(): Response
Thực thi yêu cầu DELETE và trả về một đối tượng Response.
Trả về
Response - Đối tượng phản hồi chứa kết quả từ máy chủ
Ví dụ
Yêu cầu GET cơ bản
local response = Request("https://api.example.com/data"):get()
local data = response:getData()
local statusCode = response:getResponseCode()
Yêu cầu POST kèm Headers và Parameters
local response = Request("https://api.example.com/users")
:setHeader("Content-Type", "application/json")
:setHeader("Authorization", "Bearer token123")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()
Chuỗi phương thức liên tiếp
-- Các đối tượng Request hỗ trợ gọi phương thức liên tiếp (method chaining)
local response = Request("https://api.example.com/data")
:setHeader("API-Key", "your-api-key")
:setParameter("query", "search term")
:setParameter("limit", "10")
:get()