@koishijs/plugin-http
TIP
如果想要使用代理,可以使用 @koishijs/plugin-proxy-agent 插件。
@koishijs/plugin-http 提供了 ctx.http
基础服务,其上封装了一套基于 fetch 的网络请求 API。
你可能会有这样的疑问:为什么不直接使用 fetch,而是使用 ctx.http
?这是因为许多插件都需要发起网络请求,而诸如代理、超时等配置又通常是插件无关的。因此我们为这些通用需求提供了统一的配置,各个插件则只需要调用 ctx.http
即可,不用关心复杂多变的用户需求。
实例方法
ctx.http(method, url, config)
- method:
string
请求方法 - url:
string
请求地址 - config:
RequestConfig
配置项 - 返回值:
Promise<any>
ctx.http.head(url, config)
ctx.http.get(url, config)
ctx.http.delete(url, config)
- url:
string
请求地址 - config:
RequestConfig
配置项 - 返回值:
Promise<any>
发送 HEAD / GET / DELETE 请求。
ctx.http.post(url, data, config)
ctx.http.put(url, data, config)
ctx.http.patch(url, data, config)
- url:
string
请求地址 - data:
any
请求数据 - config:
RequestConfig
配置项 - 返回值:
Promise<any>
发送 POST / PUT / PATCH 请求。
ctx.http.ws(url)
- url:
string
请求地址 - 返回值:
WebSocket
创建一个 WebSocket 连接。