Namespace CurlUnity.Http
Classes
- CurlHttpClient
libcurl 的 HTTP 客户端实现。
- CurlHttpException
SendAsync(IHttpRequest, CancellationToken) 在网络/协议层面失败时抛出的异常。
- HttpClientExtensions
IHttpClient 的便利扩展方法:常见方法/内容类型的 one-liner 封装。 需要更多控制时直接构造 HttpRequest 并调 SendAsync(IHttpRequest, CancellationToken)。
- HttpProxy
HTTP / HTTPS / SOCKS 代理配置。通过 SetProxy(HttpProxy) 激活。
- HttpRequestExtensions
IHttpRequest 的请求级便利扩展,当前主要是常见认证方式的 header 辅助。链式返回 IHttpRequest 支持 fluent 写法。
- MultipartFormData
multipart/form-data 请求体构造器,按 RFC 7578 规范拼装 body,随机生成 boundary。
Interfaces
- IHttpClient
HTTP 客户端接口。负责接收 IHttpRequest 并异步返回 IHttpResponse, 同时作为 cookie jar、代理等跨请求状态的宿主。典型实现是 CurlHttpClient。
- IHttpRequest
一次 HTTP 请求的配置。交给 SendAsync(IHttpRequest, CancellationToken) 后由 client 解读 成对应的 libcurl easy handle 选项。典型实现是 HttpRequest,按 POCO 字段赋值即可;认证等扩展方法见 HttpRequestExtensions。
- IHttpResponse
HTTP 响应。由 SendAsync(IHttpRequest, CancellationToken) 在成功拿到响应时返回。
Enums
- HttpErrorKind
CurlHttpException 的语义分类。提供给调用方做 switch / 重试策略判断, 避免直接依赖 libcurl 的
CURLcode数值。
- HttpMethod
HTTP 请求方法。对
Get/Post/Head走 libcurl 原生选项; 其余走CURLOPT_CUSTOMREQUEST填方法名(与 curl 命令行-X等价)。
- HttpVersion
HTTP 协议版本。数值与 curl 的
CURL_HTTP_VERSION_*定义一致。 既用于请求偏好配置(PreferredVersion), 也用于响应中报告实际使用的版本(Version)。