HttpRequestBuilderOptions
此章节待补充或完善...
Marked by SuperMonster003 on Mar 21, 2023.
HttpRequestBuilderOptions 是一个构建 HTTP 请求时用于传递构建选项的接口.
这些选项将影响 HTTP 请求的构建.
常见相关方法或属性:
- http.buildRequest(url, options)
- http.request(url, options, callback)
- http.get(url, options, callback)
- http.post(url, data, options, callback)
- http.postJson(url, data, options, callback)
- http.postMultipart(url, files, options, callback)
HttpRequestBuilderOptions
[p?] timeout
- [
30000] { number } - 超时时间, 单位为毫秒
[p?] method
- { string } - HTTP 方法, 如
GET/POST/PUT/DELETE/HEAD
裸 http.request 和 http.buildRequest 没有默认方法, 必须显式提供 method. get / post / postJson / postMultipart / put / delete 等便捷方法会自动写入.
[p?] headers
- { HttpRequestHeaders } - 请求标头
headers 必须是 JavaScript 对象. 值为数组时会逐项调用 OkHttp Request.Builder.header, 因此同名请求头会被后一次覆盖, 不是追加.
[p?] contentType
- { string } - 请求体内容类型
[p?] body
- { okhttp3.RequestBody | string | function } - 请求体
请求体只支持 OkHttp RequestBody、字符串、或 function(sink) 形式的写入函数. 函数参数是 Okio BufferedSink. 源码没有数组或字节数组分支.
[p?] files
- { object } - multipart 文件映射
仅当 body 不存在时用于构建 multipart 请求. 值支持 string / number 普通字段、[fileName, path]、[fileName, mimeType, path] 或 PFileInterface.
[p?] maxRetries
- { number } - OkHttp 最大重试次数
[p?] cacheBody
6.7.0
- [
false] { boolean } - 是否缓存响应体
启用后, response.body.string() 或 response.body.bytes() 在响应体大小不超过阈值时可重复读取.
[p?] bodyCacheThresholdBytes
6.7.0
- [
8388608] { number } - 响应体缓存阈值, 默认 8 MiB
[p?] insecure
6.7.0
- [
false] { boolean } - 是否跳过 TLS 证书和主机名校验
isInsecure 是同义选项.
警告: 此选项会降低 HTTPS 安全性, 仅应在明确知道风险的调试或特殊网络环境中使用.
[p?] client
6.7.0
- { object } - OkHttpClient.Builder 配置
键名会按反射方式映射到 okhttp3.OkHttpClient.Builder 的一参或两参方法. 0 参数 Builder 方法不允许通过此方式调用; 值为长度为 2 的列表时会优先尝试二参方法.
http.get('https://example.com', {
client: {
followRedirects: false,
retryOnConnectionFailure: true,
},
});