xrtHttpClientConfigInit
初始化安全公网限额、两类 30 秒超时、Happy Eyeballs 和可选系统信任;允许未对齐存储。
| 参数 | 说明 |
|---|---|
| xhttpclientconfig* pConfig | 配置结构 |
示例已编译验证
httpclientconfiginit obj; xrtHttpClientConfigInit(&obj);
xrtHttpCallOptionsInit
初始化 origin-form、无回调、无取消并继承 Client 的两类超时;允许未对齐存储。
| 参数 | 说明 |
|---|---|
| xhttpcalloptions* pOptions | 选项 |
示例已编译验证
httpcalloptionsinit obj; xrtHttpCallOptionsInit(&obj, pOptions);
xrtHttpProxyOptionsInit
初始化为继承 Client 默认代理;允许未对齐完整存储并拒绝地址回绕。
| 参数 | 说明 |
|---|---|
| xhttpproxyoptions* pOptions | 选项 |
示例已编译验证
httpproxyoptionsinit obj; xrtHttpProxyOptionsInit(&obj, pOptions);
xrtHttpRedirectConfigInit
初始化十跳上限和安全重定向策略;允许未对齐完整存储并拒绝地址回绕。
| 参数 | 说明 |
|---|---|
| xhttpredirectconfig* pConfig | 配置结构 |
示例已编译验证
httpredirectconfiginit obj; xrtHttpRedirectConfigInit(&obj);
xrtHttpRetryConfigInit
初始化为零次自动重试及完整安全策略;允许未对齐完整存储并拒绝地址回绕。
| 参数 | 说明 |
|---|---|
| xhttpretryconfig* pConfig | 配置结构 |
示例已编译验证
httpretryconfiginit obj; xrtHttpRetryConfigInit(&obj);
xrtHttpRetryOptionsInit
初始化为继承 Client 且不允许非幂等重放;允许未对齐完整存储并拒绝地址回绕。
| 参数 | 说明 |
|---|---|
| xhttpretryoptions* pOptions | 选项 |
示例已编译验证
httpretryoptionsinit obj; xrtHttpRetryOptionsInit(&obj, pOptions);
xrtHttpCookieOptionsInit
初始化默认 Cookie 策略;接受未对齐的完整存储并拒绝回绕地址。
| 参数 | 说明 |
|---|---|
| xhttpcookieoptions* pOptions | 选项 |
示例已编译验证
httpcookieoptionsinit obj; xrtHttpCookieOptionsInit(&obj, pOptions);
xrtHttpDecompressConfigInit
初始化自动解码、64 MiB 正文上限和四层编码上限;允许未对齐存储。
| 参数 | 说明 |
|---|---|
| xhttpdecompressconfig* pConfig | 配置结构 |
示例已编译验证
httpdecompressconfiginit obj; xrtHttpDecompressConfigInit(&obj);
xrtHttpClientCacheConfigInit
初始化默认缓存策略;接受未对齐的完整存储并拒绝回绕地址。
| 参数 | 说明 |
|---|---|
| xhttpclientcacheconfig* pConfig | 配置结构 |
示例已编译验证
httpclientcacheconfiginit obj; xrtHttpClientCacheConfigInit(&obj);
xrtHttpClientCacheOptionsInit
初始化继承且未分区的缓存选项;存储可以未对齐但必须完整。
| 参数 | 说明 |
|---|---|
| xhttpclientcacheoptions* pOptions | 选项 |
示例已编译验证
httpclientcacheoptionsinit obj; xrtHttpClientCacheOptionsInit(&obj, pOptions);
xrtHttpClientPoolConfigInit
XRT_API void xrtHttpClientPoolConfigInit( xhttpclientpoolconfig* pConfig );
示例已编译验证
httpclientpoolconfiginit obj; xrtHttpClientPoolConfigInit(&obj);
xrtHttpResumeConfigInit
初始化默认恢复缓存;接受未对齐的完整存储并拒绝回绕地址。
| 参数 | 说明 |
|---|---|
| xhttpresumeconfig* pConfig | 配置结构 |
示例已编译验证
httpresumeconfiginit obj; xrtHttpResumeConfigInit(&obj);
xrtHttpClientCreate
XRT_API xhttpclient* xrtHttpClientCreate( xnetengine* pEngine, const xhttpclientconfig* pConfig );
示例已编译验证
/* XRT_API xhttpclient* xrtHttpClientCreate( xnetengine* pEngine, const xhttpclientconfig* pConfig ); */ xhandle* h = xrtHttpClientCreate();
xrtHttpClientCreateTls
XRT_API xhttpclient* xrtHttpClientCreateTls( xnetengine* pEngine, const xtlscontext* pContext, const xtlsverifier* pVerifier );
示例已编译验证
/* XRT_API xhttpclient* xrtHttpClientCreateTls( xnetengine* pEngine, const xtlscontext* pContext, const xtlsverifier* pVerifier ); */ xhandle* h = xrtHttpClientCreateTls();
xrtHttpClientCreateWithResolver
XRT_API xhttpclient* xrtHttpClientCreateWithResolver( xnetengine* pEngine, xnetresolver* pResolver, const xhttpclientconfig* pConfig );
示例已编译验证
/* XRT_API xhttpclient* xrtHttpClientCreateWithResolver( xnetengine* pEngine, xnetresolver* pResolver, const xhttpclientconfig* pConfig ); */ xhandle* h = xrtHttpClientCreateWithResolver();
xrtHttpClientRef
增加 Client 公开所有者引用并返回原指针。
| 参数 | 说明 |
|---|---|
| xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 增加 Client 公开所有者引用并返回原指针。 */ result = xrtHttpClientRef(pClient);
xrtHttpClientDestroy
XRT_API void xrtHttpClientDestroy(xhttpclient* pClient);
示例已编译验证
xrtHttpClientDestroy(obj);
xrtHttpClientDrain
停止接收新 Call,关闭空闲连接并让全部已提交 Call 自然完成。
| 参数 | 说明 |
|---|---|
| xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 停止接收新 Call,关闭空闲连接并让全部已提交 Call 自然完成。 */ result = xrtHttpClientDrain(pClient);
xrtHttpClientAbort
停止接收新 Call,关闭空闲连接并协作取消全部已提交 Call。
| 参数 | 说明 |
|---|---|
| xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 停止接收新 Call,关闭空闲连接并协作取消全部已提交 Call。 */ result = xrtHttpClientAbort(pClient);
xrtHttpClientState
返回 Client 当前生命周期状态。
| 参数 | 说明 |
|---|---|
| const xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 返回 Client 当前生命周期状态。 */ result = xrtHttpClientState(pClient);
xrtHttpClientEngine
返回 Client 生命周期绑定的借用网络 Engine;空 Client 返回空指针。
| 参数 | 说明 |
|---|---|
| const xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 返回 Client 生命周期绑定的借用网络 Engine;空 Client 返回空指针。 */ result = xrtHttpClientEngine(pClient);
xrtHttpClientDo
XRT_API xhttpcall* xrtHttpClientDo( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions, xhttpcallproc pDone, ptr pData );
示例已编译验证
/* XRT_API xhttpcall* xrtHttpClientDo( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions, xhttpcallproc pDone, ptr pData ); */ result = xrtHttpClientDo();
xrtHttpCallRef
增加 Call 引用并返回原指针。
| 参数 | 说明 |
|---|---|
| xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 增加 Call 引用并返回原指针。 */ result = xrtHttpCallRef(pCall);
xrtHttpCallDestroy
释放 Call 引用;空指针视为空操作。
| 参数 | 说明 |
|---|---|
| xhttpcall* pCall | 调用对象 |
示例已编译验证
xrtHttpCallDestroy(pCall);
xrtHttpCallCancel
XRT_API bool xrtHttpCallCancel(xhttpcall* pCall);
示例已编译验证
/* XRT_API bool xrtHttpCallCancel(xhttpcall* pCall); */ result = xrtHttpCallCancel();
xrtHttpCallPause
在当前网络 Worker 上暂停正在交付的响应正文和传输读取。
| 参数 | 说明 |
|---|---|
| xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 在当前网络 Worker 上暂停正在交付的响应正文和传输读取。 */ result = xrtHttpCallPause(pCall);
xrtHttpCallResume
从任意线程恢复当前 HTTP/1 响应输入。
| 参数 | 说明 |
|---|---|
| xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 从任意线程恢复当前 HTTP/1 响应输入。 */ result = xrtHttpCallResume(pCall);
xrtHttpCallPaused
返回当前 HTTP/1 响应输入暂停门的并发快照。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 返回当前 HTTP/1 响应输入暂停门的并发快照。 */ result = xrtHttpCallPaused(pCall);
xrtHttpCallWorker
返回 Call 从提交到终态始终所属的借用网络 Worker。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 返回 Call 从提交到终态始终所属的借用网络 Worker。 */ result = xrtHttpCallWorker(pCall);
xrtHttpCallRequestClone
从任意线程克隆 Call 当前有效请求;调用方负责销毁返回的拥有型快照。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 从任意线程克隆 Call 当前有效请求;调用方负责销毁返回的拥有型快照。 */ result = xrtHttpCallRequestClone(pCall);
xrtHttpCallState
返回 Call 当前阶段或不可变终态的并发快照。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 返回 Call 当前阶段或不可变终态的并发快照。 */ result = xrtHttpCallState(pCall);
xrtHttpCallError
失败、超时或取消后返回借用的稳定错误原因链。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
示例已编译验证
/* 失败、超时或取消后返回借用的稳定错误原因链。 */ result = xrtHttpCallError(pCall);
xrtHttpCallInfo
复制 Call 快照;输出存储可以未对齐但必须完整且地址不回绕。
| 参数 | 说明 |
|---|---|
| const xhttpcall* pCall | 调用对象 |
| xhttpcallinfo* pInfo | 上下文信息 |
示例已编译验证
/* 复制 Call 快照;输出存储可以未对齐但必须完整且地址不回绕。 */ result = xrtHttpCallInfo(pCall, pInfo);
xrtHttpClientProxy
XRT_API const xnetproxy* xrtHttpClientProxy( const xhttpclient* pClient );
示例已编译验证
/* XRT_API const xnetproxy* xrtHttpClientProxy( const xhttpclient* pClient ); */ result = xrtHttpClientProxy();
xrtHttpClientCookieJar
XRT_API xcookiejar* xrtHttpClientCookieJar( const xhttpclient* pClient );
示例已编译验证
/* XRT_API xcookiejar* xrtHttpClientCookieJar( const xhttpclient* pClient ); */ result = xrtHttpClientCookieJar();
xrtHttpClientCache
XRT_API xhttpcache* xrtHttpClientCache( const xhttpclient* pClient );
示例已编译验证
/* XRT_API xhttpcache* xrtHttpClientCache( const xhttpclient* pClient ); */ result = xrtHttpClientCache();
xrtHttpClientCloseIdle
关闭当前全部空闲连接并返回从池中摘除的数量,不影响活动 Call。
| 参数 | 说明 |
|---|---|
| xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 关闭当前全部空闲连接并返回从池中摘除的数量,不影响活动 Call。 */ result = xrtHttpClientCloseIdle(pClient);
xrtHttpClientStats
读取并发快照;输出存储可以未对齐但必须完整且地址不回绕。
| 参数 | 说明 |
|---|---|
| const xhttpclient* pClient | 客户端对象 |
| xhttpclientstats* pStats | 出:统计快照 |
示例已编译验证
/* 读取并发快照;输出存储可以未对齐但必须完整且地址不回绕。 */ result = xrtHttpClientStats(pClient, pStats);
xrtHttpClientResumeClear
清空尚未被连接取用的 TLS 恢复票据,并返回释放数量。
| 参数 | 说明 |
|---|---|
| xhttpclient* pClient | 客户端对象 |
示例已编译验证
/* 清空尚未被连接取用的 TLS 恢复票据,并返回释放数量。 */ result = xrtHttpClientResumeClear(pClient);
xrtHttpClientResumeStats
读取恢复缓存一致快照;输出存储可以未对齐但必须完整。
| 参数 | 说明 |
|---|---|
| const xhttpclient* pClient | 客户端对象 |
| xhttpresumestats* pStats | 出:统计快照 |
示例已编译验证
/* 读取恢复缓存一致快照;输出存储可以未对齐但必须完整。 */ result = xrtHttpClientResumeStats(pClient, pStats);