跳转至

API 总览

#include <wknet/Wknet.h>

命名空间:wknet::http · wknet::websocket · wknet::sse · wknet::codec · wknet::crypto

约定

说明
IRQL HTTP / WebSocket / 证书 / 异步入口在 PASSIVE_LEVEL
返回值 多为 NTSTATUS;标 _Must_inspect_result_ 须检查;成功用 NT_SUCCESS
句柄 不透明堆对象;Create 取得,Close / Release 释放
选项对象 SendOptions / AsyncOptions*Create / *Release 管理
空指针 Close / Release 接受 nullptr
异常 不使用 C++ 异常

句柄

类型 命名空间 创建 / 取得 释放 头文件
Session wknet::http SessionCreate SessionClose http/Session.h
Request wknet::http RequestCreate RequestRelease http/Request.h
Response wknet::http Send* / AsyncGetResponse ResponseRelease http/Response.h
AsyncOp wknet::http Async* / ConnectAsync* AsyncRelease http/AsyncOp.h
Headers wknet::http HeadersCreate HeadersRelease http/Headers.h
Body wknet::http BodyCreate* BodyRelease http/Body.h
Cache wknet::http CacheCreate CacheRelease http/Cache.h
CertificateStore wknet::http CertificateStoreCreate CertificateStoreClose http/Certificate.h
WebSocket wknet::websocket Connect* Close / CloseEx websocket/WebSocket.h
SseClient wknet::sse Connect* Close sse/Sse.h

SendOptions / AsyncOptions同步 HTTP / 异步 HTTP

头文件

头文件 内容
wknet/Wknet.h 公共 API 总入口
wknet/http/Types.h 枚举、配置结构体、回调、默认常量
wknet/http/Session.h SessionCreate / SessionClose
wknet/http/Request.h RequestCreate / RequestRelease
wknet/http/Headers.h 请求头
wknet/http/Body.h 请求体
wknet/http/Options.h SendOptionsCreate / AsyncOptionsCreate
wknet/http/Http.h 同步 Send / Get / Post
wknet/http/HttpAsync.h 异步 AsyncSend / AsyncGet
wknet/http/AsyncOp.h 等待、取消、取 Response
wknet/http/Response.h 状态码 / body / header / trailer
wknet/http/Lifecycle.h Destroy
wknet/http/Certificate.h CertificateStore、pin、mTLS 相关类型
wknet/http/Cache.h 内存 cache
wknet/websocket/WebSocket.h WebSocket 连接与收发
wknet/sse/Sse.h Server-Sent Events 客户端
wknet/codec/Codec.h content-coding / EXI / Pack200
wknet/crypto/Aead.h AEAD
wknet/crypto/TlsCredential.h TlsClientCredential(经 Certificate.h
wknet/Trace.h 诊断

Wknet.h 会包含上表中的公共头(TlsCredential.hCertificate.h 引入)。细分包含时可只取所需头文件。

默认配置

函数 返回
DefaultSessionConfig() SessionConfig
DefaultTlsConfig() TlsConfig
DefaultSendOptions() SendOptions
DefaultConnectConfig() websocket::ConnectConfigsse::DefaultConnectConfig()

SendOptions / AsyncOptions 作为 API 参数时使用 SendOptionsCreate / AsyncOptionsCreate(构造函数私有)。

分页

内容
会话与配置 SessionSessionConfigHttp3、代理、池、cache
请求与响应 RequestHeadersBodyResponse
同步 HTTP Send / 按方法发送、SendOptions
异步 HTTP AsyncSendAsyncOpDestroy
WebSocket Connect / 收发 / 关闭
SSE SseClient Connect / Receive / Close
证书与 TLS TlsConfigCertificateStore、mTLS
Codec 与 Crypto 解码与 AEAD