GFHttpResponse¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/io/gf_http_response.gd - 模块:
Standard - 继承:
RefCounted - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
3.17.0
通用 HTTP 请求结果。 以对象形式表达 pending、completed、failed、cancelled 等状态,便于请求构建器、 批处理器和项目侧工具统一观察异步结果。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | completed |
signal completed(response: GFHttpResponse) |
| 枚举 | State |
enum State |
| 属性 | state |
var state: State = State.PENDING |
| 属性 | url |
var url: String = "" |
| 属性 | status_code |
var status_code: int = 0 |
| 属性 | result_code |
var result_code: int = HTTPRequest.RESULT_SUCCESS |
| 属性 | headers |
var headers: PackedStringArray = PackedStringArray() |
| 属性 | text |
var text: String = "" |
| 属性 | body |
var body: PackedByteArray = PackedByteArray() |
| 属性 | data |
var data: Variant = null |
| 属性 | error |
var error: String = "" |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 属性 | cancel_callback |
var cancel_callback: Callable = Callable() |
| 方法 | is_pending |
func is_pending() -> bool: |
| 方法 | is_successful |
func is_successful() -> bool: |
| 方法 | is_finished |
func is_finished() -> bool: |
| 方法 | get_header |
func get_header(header_name: String, default_value: String = "") -> String: |
| 方法 | get_header_values |
func get_header_values(header_name: String) -> PackedStringArray: |
| 方法 | get_headers_dictionary |
func get_headers_dictionary() -> Dictionary: |
| 方法 | complete_success |
func complete_success(fields: Dictionary = {}) -> void: |
| 方法 | complete_failure |
func complete_failure(message: String, fields: Dictionary = {}) -> void: |
| 方法 | cancel |
func cancel(reason: String = "cancelled") -> void: |
| 方法 | to_dictionary |
func to_dictionary() -> Dictionary: |
信号¶
completed¶
- API:
public
响应完成、失败或取消时发出。
参数:
| 名称 | 说明 |
|---|---|
response |
当前响应对象。 |
枚举¶
State¶
- API:
public
HTTP 响应句柄状态。
属性¶
state¶
- API:
public
响应状态。
url¶
- API:
public
原始 URL。
status_code¶
- API:
public
HTTP 状态码。
result_code¶
- API:
public
Godot HTTPRequest 结果码。
headers¶
- API:
public
响应头。
text¶
- API:
public
响应文本。
body¶
- API:
public
响应原始 bytes。
data¶
- API:
public
解析后的数据,例如 JSON 结果。
结构:
data: Variant,解析后的响应载荷,例如 JSON 数据、文本数据或 null。
error¶
- API:
public
错误说明。
metadata¶
- API:
public
调用方附加元数据。
结构:
metadata: Dictionary,从请求构建器复制的调用方元数据。
cancel_callback¶
- API:
public
取消请求时执行的底层取消回调。
方法¶
is_pending¶
- API:
public
请求是否仍在等待。
返回:仍在等待时返回 true。
is_successful¶
- API:
public
请求是否成功。
返回:请求以 2xx HTTP 状态码完成且没有错误时返回 true。
is_finished¶
- API:
public
请求是否已结束。
返回:请求完成、失败或取消时返回 true。
get_header¶
- API:
public
读取第一个匹配的响应头。
参数:
| 名称 | 说明 |
|---|---|
header_name |
响应头名称,按大小写不敏感方式匹配。 |
default_value |
没有匹配响应头时返回的默认值。 |
返回:响应头值;没有匹配项时返回 default_value。
get_header_values¶
- API:
public
读取所有匹配的响应头值。
参数:
| 名称 | 说明 |
|---|---|
header_name |
响应头名称,按大小写不敏感方式匹配。 |
返回:匹配的响应头值列表,保留原始出现顺序。
get_headers_dictionary¶
- API:
public
生成大小写规范化的响应头字典。
返回:响应头字典。
结构:
return: Dictionary,键为小写 header 名称,值为 PackedStringArray,重复响应头会按出现顺序保留。
complete_success¶
- API:
public
标记请求成功完成。
参数:
| 名称 | 说明 |
|---|---|
fields |
需要写入响应对象的字段。 |
结构:
fields: Dictionary,可包含 url、status_code、result_code、headers、text、body、data 和 metadata。
complete_failure¶
- API:
public
标记请求失败。
参数:
| 名称 | 说明 |
|---|---|
message |
错误说明。 |
fields |
需要写入响应对象的字段。 |
结构:
fields: Dictionary,可包含 url、status_code、result_code、headers、text、body、data 和 metadata。
cancel¶
- API:
public
取消请求。
参数:
| 名称 | 说明 |
|---|---|
reason |
取消原因。 |
to_dictionary¶
- API:
public
转为普通字典。
返回:响应快照。
结构:
return: Dictionary,包含响应状态、URL、HTTP 状态、解析数据、错误信息和 metadata。