xrtHttpProxyStatusCursorInit

初始化单个 Proxy-Status 字段值游标。

void xrtHttpProxyStatusCursorInit( xhttpproxystatuscursor* pCursor );
参数说明
xhttpproxystatuscursor* pCursor游标
返回:初始化单个 Proxy-Status 字段值游标。

示例已编译验证

httpproxystatuscursorinit obj;
xrtHttpProxyStatusCursorInit(&obj, pCursor);

xrtHttpProxyStatusFieldCursorInit

初始化跨重复 Proxy-Status 字段行游标。

void xrtHttpProxyStatusFieldCursorInit( xhttpproxystatusfieldcursor* pCursor );
参数说明
xhttpproxystatusfieldcursor* pCursor游标
返回:初始化跨重复 Proxy-Status 字段行游标。

示例已编译验证

httpproxystatusfieldcursorinit obj;
xrtHttpProxyStatusFieldCursorInit(&obj, pCursor);

xrtHttpProxyStatusValid

严格验证完整 Proxy-Status 字段值和每个代理标识。

bool xrtHttpProxyStatusValid(xstrview Value);
参数说明
xstrview Value值
返回:严格验证完整 Proxy-Status 字段值和每个代理标识。

示例已编译验证

/* 严格验证完整 Proxy-Status 字段值和每个代理标识。 */
result = xrtHttpProxyStatusValid(Value);

xrtHttpProxyStatusNext

迭代一个完整 Proxy-Status 字段值。

xhttpnext xrtHttpProxyStatusNext( xstrview Value, xhttpproxystatuscursor* pCursor, xhttpproxystatus* pStatus );
参数说明
xstrview Value值
xhttpproxystatuscursor* pCursor游标
xhttpproxystatus* pStatus状态响应
返回:迭代一个完整 Proxy-Status 字段值。

示例已编译验证

/* 迭代一个完整 Proxy-Status 字段值。 */
result = xrtHttpProxyStatusNext(Value, pCursor, pStatus);

xrtHttpProxyStatusFieldNext

按线路顺序跨越全部重复 Proxy-Status 字段行。

xhttpnext xrtHttpProxyStatusFieldNext( const xhttpfield* pFields, size_t iCount, xhttpproxystatusfieldcursor* pCursor, xhttpproxystatus* pStatus );
参数说明
const xhttpfield* pFields字段数组
size_t iCount数量
xhttpproxystatusfieldcursor* pCursor游标
xhttpproxystatus* pStatus状态响应
返回:按线路顺序跨越全部重复 Proxy-Status 字段行。

示例已编译验证

/* 按线路顺序跨越全部重复 Proxy-Status 字段行。 */
result = xrtHttpProxyStatusFieldNext(pFields, iCount, pCursor, pStatus);

xrtHttpProxyAliasCursorInit

初始化 next-hop-aliases 列表游标。

void xrtHttpProxyAliasCursorInit( xhttpproxyaliascursor* pCursor );
参数说明
xhttpproxyaliascursor* pCursor游标
返回:初始化 next-hop-aliases 列表游标。

示例已编译验证

httpproxyaliascursorinit obj;
xrtHttpProxyAliasCursorInit(&obj, pCursor);

xrtHttpProxyAliasesValid

严格验证完整 RFC 9532 别名列表;空文本表示没有别名。

bool xrtHttpProxyAliasesValid(xstrview Aliases);
参数说明
xstrview Aliases别名列表
返回:严格验证完整 RFC 9532 别名列表;空文本表示没有别名。

示例已编译验证

/* 严格验证完整 RFC 9532 别名列表;空文本表示没有别名。 */
result = xrtHttpProxyAliasesValid(Aliases);

xrtHttpProxyAliasNext

零拷贝迭代一个已编码别名,首次调用先验证完整列表。

xhttpnext xrtHttpProxyAliasNext( xstrview Aliases, xhttpproxyaliascursor* pCursor, xstrview* pAlias );
参数说明
xstrview Aliases别名列表
xhttpproxyaliascursor* pCursor游标
xstrview* pAlias别名
返回:零拷贝迭代一个已编码别名,首次调用先验证完整列表。

示例已编译验证

/* 零拷贝迭代一个已编码别名,首次调用先验证完整列表。 */
result = xrtHttpProxyAliasNext(Aliases, pCursor, pAlias);

xrtHttpProxyAliasRead

百分号解码一个已编码别名;保留 RFC 9532 的反斜杠表示。

bool xrtHttpProxyAliasRead( xstrview Alias, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
xstrview Alias别名
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:百分号解码一个已编码别名;保留 RFC 9532 的反斜杠表示。

示例已编译验证

/* 百分号解码一个已编码别名;保留 RFC 9532 的反斜杠表示。 */
result = xrtHttpProxyAliasRead(Alias, pOutput, iCapacity, pSize);

xrtHttpProxyAliasWrite

把一个 RFC 9532 展示形式名称写为百分号编码别名。

bool xrtHttpProxyAliasWrite( xstrview Alias, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
xstrview Alias别名
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:把一个 RFC 9532 展示形式名称写为百分号编码别名。

示例已编译验证

/* 把一个 RFC 9532 展示形式名称写为百分号编码别名。 */
result = xrtHttpProxyAliasWrite(Alias, pOutput, iCapacity, pSize);

xrtHttpProxyAliasesWrite

把名称数组写为逗号分隔的 next-hop-aliases String 正文。

bool xrtHttpProxyAliasesWrite( const xstrview* pAliases, size_t iCount, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
const xstrview* pAliases别名列表
size_t iCount数量
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:把名称数组写为逗号分隔的 next-hop-aliases String 正文。

示例已编译验证

/* 把名称数组写为逗号分隔的 next-hop-aliases String 正文。 */
result = xrtHttpProxyAliasesWrite(pAliases, iCount, pOutput, iCapacity, pSize);

xrtHttpProxyAliasesBuild

构建零结尾别名列表;返回值由 xrtFree 释放。

str xrtHttpProxyAliasesBuild( const xstrview* pAliases, size_t iCount, size_t* pSize );
参数说明
const xstrview* pAliases别名列表
size_t iCount数量
size_t* pSize出:大小
返回:构建零结尾别名列表;返回值由 xrtFree 释放。

示例已编译验证

/* 构建零结尾别名列表;返回值由 xrtFree 释放。 */
result = xrtHttpProxyAliasesBuild(pAliases, iCount, pSize);

xrtHttpProxyStatusWrite

规范写出一个 Proxy-Status 成员,适合追加独立字段行。

bool xrtHttpProxyStatusWrite( const xhttpstructureditemvalue* pStatus, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
const xhttpstructureditemvalue* pStatus状态响应
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:规范写出一个 Proxy-Status 成员,适合追加独立字段行。

示例已编译验证

/* 规范写出一个 Proxy-Status 成员,适合追加独立字段行。 */
result = xrtHttpProxyStatusWrite(pStatus, pOutput, iCapacity, pSize);