xrtHttpClientWaitAsync

XRT_API xfuture* xrtHttpClientWaitAsync(xhttpclient* pClient);

;
返回:XRT_API xfuture* xrtHttpClientWaitAsync(xhttpclient* pClient);

示例已编译验证

/* XRT_API xfuture* xrtHttpClientWaitAsync(xhttpclient* pClient); */
result = xrtHttpClientWaitAsync();

xrtHttpResultRef

增加有效结果引用并返回原指针;空指针或引用计数耗尽时失败。

xhttpresult* xrtHttpResultRef(xhttpresult* pResult);
参数说明
xhttpresult* pResult出:结果
返回:增加有效结果引用并返回原指针;空指针或引用计数耗尽时失败。

示例已编译验证

/* 增加有效结果引用并返回原指针;空指针或引用计数耗尽时失败。 */
result = xrtHttpResultRef(pResult);

xrtHttpResultDestroy

XRT_API void xrtHttpResultDestroy(xhttpresult* pResult);

;
返回:XRT_API void xrtHttpResultDestroy(xhttpresult* pResult);

示例已编译验证

xrtHttpResultDestroy(obj);

xrtHttpResultResponse

返回结果借用的响应;结果保持有效且响应未被取走期间可用。

const xhttpresponse* xrtHttpResultResponse( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:返回结果借用的响应;结果保持有效且响应未被取走期间可用。

示例已编译验证

/* 返回结果借用的响应;结果保持有效且响应未被取走期间可用。 */
result = xrtHttpResultResponse(pResult);

xrtHttpResultTakeResponse

XRT_API xhttpresponse* xrtHttpResultTakeResponse( xhttpresult* pResult );

;
返回:XRT_API xhttpresponse* xrtHttpResultTakeResponse( xhttpresult* pResult );

示例已编译验证

/* XRT_API xhttpresponse* xrtHttpResultTakeResponse( xhttpresult* pResult ); */
result = xrtHttpResultTakeResponse();

xrtHttpResultTcp

返回结果借用的明文 Upgrade Stream,普通响应或 HTTPS Upgrade 返回空。

xnetstream* xrtHttpResultTcp( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:返回结果借用的明文 Upgrade Stream,普通响应或 HTTPS Upgrade 返回空。

示例已编译验证

/* 返回结果借用的明文 Upgrade Stream,普通响应或 HTTPS Upgrade 返回空。 */
result = xrtHttpResultTcp(pResult);

xrtHttpResultTakeTcp

取走明文 Upgrade Stream 所有权;同一传输至多成功取走一次。

xnetstream* xrtHttpResultTakeTcp( xhttpresult* pResult );
参数说明
xhttpresult* pResult出:结果
返回:取走明文 Upgrade Stream 所有权;同一传输至多成功取走一次。

示例已编译验证

/* 取走明文 Upgrade Stream 所有权;同一传输至多成功取走一次。 */
result = xrtHttpResultTakeTcp(pResult);

xrtHttpResultTls

返回结果借用的 TLS Upgrade Stream,普通响应或明文 Upgrade 返回空。

xtlsstream* xrtHttpResultTls( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:返回结果借用的 TLS Upgrade Stream,普通响应或明文 Upgrade 返回空。

示例已编译验证

/* 返回结果借用的 TLS Upgrade Stream,普通响应或明文 Upgrade 返回空。 */
result = xrtHttpResultTls(pResult);

xrtHttpResultTakeTls

取走 TLS Upgrade Stream 所有权;同一传输至多成功取走一次。

xtlsstream* xrtHttpResultTakeTls( xhttpresult* pResult );
参数说明
xhttpresult* pResult出:结果
返回:取走 TLS Upgrade Stream 所有权;同一传输至多成功取走一次。

示例已编译验证

/* 取走 TLS Upgrade Stream 所有权;同一传输至多成功取走一次。 */
result = xrtHttpResultTakeTls(pResult);

xrtHttpResultBuffered

返回 Upgrade 后已经留在传输接收缓冲中的协议外字节数。

size_t xrtHttpResultBuffered( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:返回 Upgrade 后已经留在传输接收缓冲中的协议外字节数。

示例已编译验证

/* 返回 Upgrade 后已经留在传输接收缓冲中的协议外字节数。 */
result = xrtHttpResultBuffered(pResult);

xrtHttpResultRedirects

返回本次调用已经跟随的重定向次数。

size_t xrtHttpResultRedirects( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:返回本次调用已经跟随的重定向次数。

示例已编译验证

/* 返回本次调用已经跟随的重定向次数。 */
result = xrtHttpResultRedirects(pResult);

xrtHttpResultUpgraded

判断结果是否已经把传输从 HTTP/1 交付给调用方。

bool xrtHttpResultUpgraded( const xhttpresult* pResult );
参数说明
const xhttpresult* pResult出:结果
返回:判断结果是否已经把传输从 HTTP/1 交付给调用方。

示例已编译验证

/* 判断结果是否已经把传输从 HTTP/1 交付给调用方。 */
result = xrtHttpResultUpgraded(pResult);

xrtHttpResultInfo

复制不可变 Call 快照;输出存储可以未对齐但必须完整。

bool xrtHttpResultInfo( const xhttpresult* pResult, xhttpcallinfo* pInfo );
参数说明
const xhttpresult* pResult出:结果
xhttpcallinfo* pInfo上下文信息
返回:复制不可变 Call 快照;输出存储可以未对齐但必须完整。

示例已编译验证

/* 复制不可变 Call 快照;输出存储可以未对齐但必须完整。 */
result = xrtHttpResultInfo(pResult, pInfo);

xrtHttpClientDoAsync

XRT_API xfuture* xrtHttpClientDoAsync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions );

;
返回:XRT_API xfuture* xrtHttpClientDoAsync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions );

示例已编译验证

/* XRT_API xfuture* xrtHttpClientDoAsync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions ); */
result = xrtHttpClientDoAsync();

xrtHttpClientDoSync

XRT_API xhttpresult* xrtHttpClientDoSync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions );

;
返回:XRT_API xhttpresult* xrtHttpClientDoSync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions );

示例已编译验证

/* XRT_API xhttpresult* xrtHttpClientDoSync( xhttpclient* pClient, const xhttprequest* pRequest, const xhttpcalloptions* pOptions ); */
result = xrtHttpClientDoSync();