響應處理相關函數
更新時間 2024-07-22 09:45:33
最近更新時間: 2024-07-22 09:45:33
分享文章
本文簡述響應處理可以使用的相關函數的語法、作用、入參、返回值、示例。
ctyun.resp.get_headers
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | headers, err = ctyun.resp.get_headers(max_headers?, raw?) |
| 作用 | 獲取響應頭。 |
| 入參 | max_headers : numbe類型,缺省為100, 表示最多返回頭部數量,為0表示不限制。 raw : bool類型,缺省為false,false 表示表頭名稱轉成純小寫。 |
| 返回值 | headers : table,保存全部返回的響應頭,重復響應頭的值為table。 err:字符串類型,錯誤描述,正確時為nil。 注意:建議ctyun.req.enroll_header_back 回調函數內使用。 |
示例:
local headers = ctyun.resp.get_headers()
--- headers = {["server"] = "openresty"}
ctyun.resp.get_code
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | resp_code = ctyun.resp.get_code() |
| 作用 | 獲響應狀態碼。 |
| 入參 | 無。 |
| 返回值 | number 狀態碼 注意: 建議ctyun.req.enroll_header_back 回調函數內使用。 |
示例:
local resp_code = ctyun.resp.get_code()
--- resp_code = 200
ctyun.resp.set_header
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | ctyun.resp.set_header(header_name, header_value) |
| 作用 | 設置響應頭。 |
| 入參 | header_name:str, 響應頭名。 header_value:str, 響應頭值,nil 或者空字符串表示刪除。 |
| 返回值 | 無。 |
示例:
ctyun.resp.set_header("test", "aaaaaa")
--- 增加響應頭 test:aaaaaa
ctyun.resp.set_limit_rate
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | ctyun.resp.set_limit_rate(limit_quota, after?) |
| 作用 | 響應內容給客戶端時限速。 |
| 入參 | limit_quota : str, 用于設置限速值,不帶單位為b/s、k表示kb/s, m表示mb/s ,例如 10k。 after: str, 用于設置前多少字節不限速,不帶單位為b、k表示kb, m表示mb ,例如 10k。 |
| 返回值 | 無。 |
示例:
ctyun.resp.set_limit_rate("200k", "10m")
--- 10MB后,限速200kb/s
ctyun.resp.set_limit_rate("200k")
-- 限速200kb/s
ctyun.resp.set_output
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | ctyun.resp.set_output(...) |
| 作用 | 輸出響應體。 |
| 入參 | 字符串、bool變量、數字、數組類型的table(可嵌套)。可以輸入多個參數。 |
| 返回值 | 無。 |
示例:
ctyun.resp.set_output("success")
-- 生成響應體 "success"
ctyun.resp.set_code
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | ctyun.resp.set_code(code) |
| 作用 | 設置響應狀態碼。 |
| 入參 | code:number。注意只是設置狀態碼,可能被其他處理覆蓋。 |
| 返回值 | 無。 |
示例:
ctyun.resp.set_code(416)
--- 設置狀態碼 416
ctyun.resp.exit
函數信息詳見下表:
| 項目 | 描述 |
|---|---|
| 語法 | ctyun.resp.exit(code) |
| 作用 | 設置響應狀態碼,并結束請求。 |
| 入參 | code:number。會直接結束請求,之后的處理不再執行,但ctyun.req.enroll_header_back 回調函數仍會執行。 |
| 返回值 | 無。 |
示例:
ctyun.resp.exit(416)
---結束請求,并給客戶端返回 416狀態碼