xrtHttpViaCursorInit

初始化单个 Via 字段值游标。

void xrtHttpViaCursorInit(xhttpviacursor* pCursor);
参数说明
xhttpviacursor* pCursor游标
返回:初始化单个 Via 字段值游标。

示例已编译验证

httpviacursorinit obj;
xrtHttpViaCursorInit(&obj, pCursor);

xrtHttpViaFieldCursorInit

初始化重复 Via 字段行游标。

void xrtHttpViaFieldCursorInit( xhttpviafieldcursor* pCursor );
参数说明
xhttpviafieldcursor* pCursor游标
返回:初始化重复 Via 字段行游标。

示例已编译验证

httpviafieldcursorinit obj;
xrtHttpViaFieldCursorInit(&obj, pCursor);

xrtHttpViaElementParse

严格解析一个不含列表逗号的非空 Via 元素。

bool xrtHttpViaElementParse( xstrview Element, xhttpvia* pVia );
参数说明
xstrview Element元素
xhttpvia* pViaVia 对象
返回:严格解析一个不含列表逗号的非空 Via 元素。

示例已编译验证

/* 严格解析一个不含列表逗号的非空 Via 元素。 */
result = xrtHttpViaElementParse(Element, pVia);

xrtHttpViaValid

严格验证完整 Via 字段值,包括 HTTP 列表语法允许的空列表。

bool xrtHttpViaValid(xstrview Value);
参数说明
xstrview Value值
返回:严格验证完整 Via 字段值,包括 HTTP 列表语法允许的空列表。

示例已编译验证

/* 严格验证完整 Via 字段值,包括 HTTP 列表语法允许的空列表。 */
result = xrtHttpViaValid(Value);

xrtHttpViaNext

按线路顺序迭代一个完整 Via 字段值,游标在首次调用时绑定输入。

xhttpnext xrtHttpViaNext( xstrview Value, xhttpviacursor* pCursor, xhttpvia* pVia );
参数说明
xstrview Value值
xhttpviacursor* pCursor游标
xhttpvia* pViaVia 对象
返回:按线路顺序迭代一个完整 Via 字段值,游标在首次调用时绑定输入。

示例已编译验证

/* 按线路顺序迭代一个完整 Via 字段值,游标在首次调用时绑定输入。 */
result = xrtHttpViaNext(Value, pCursor, pVia);

xrtHttpViaFieldNext

跨重复 Via 字段行按线路顺序迭代代理节点,游标在首次调用时绑定输入。

xhttpnext xrtHttpViaFieldNext( const xhttpfield* pFields, size_t iCount, xhttpviafieldcursor* pCursor, xhttpvia* pVia );
参数说明
const xhttpfield* pFields字段数组
size_t iCount数量
xhttpviafieldcursor* pCursor游标
xhttpvia* pViaVia 对象
返回:跨重复 Via 字段行按线路顺序迭代代理节点,游标在首次调用时绑定输入。

示例已编译验证

/* 跨重复 Via 字段行按线路顺序迭代代理节点,游标在首次调用时绑定输入。 */
result = xrtHttpViaFieldNext(pFields, iCount, pCursor, pVia);

xrtHttpViaCommentDecode

XRT_API bool xrtHttpViaCommentDecode( xstrview Comment, void* pOutput, size_t iCapacity, size_t* pSize );

;
返回:XRT_API bool xrtHttpViaCommentDecode( xstrview Comment, void* pOutput, size_t iCapacity, size_t* pSize );

示例已编译验证

/* XRT_API bool xrtHttpViaCommentDecode( xstrview Comment, void* pOutput, size_t iCapacity, size_t* pSize ); */
result = xrtHttpViaCommentDecode();

xrtHttpViaElementWrite

规范写出一个 Via 元素,不附加字段名称或 CRLF。

bool xrtHttpViaElementWrite( const xhttpviavalue* pVia, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
const xhttpviavalue* pViaVia 对象
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:规范写出一个 Via 元素,不附加字段名称或 CRLF。

示例已编译验证

/* 规范写出一个 Via 元素,不附加字段名称或 CRLF。 */
result = xrtHttpViaElementWrite(pVia, pOutput, iCapacity, pSize);

xrtHttpViaWrite

规范写出逗号分隔的非空 Via 元素数组。

bool xrtHttpViaWrite( const xhttpviavalue* pVia, size_t iCount, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
const xhttpviavalue* pViaVia 对象
size_t iCount数量
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:规范写出逗号分隔的非空 Via 元素数组。

示例已编译验证

/* 规范写出逗号分隔的非空 Via 元素数组。 */
result = xrtHttpViaWrite(pVia, iCount, pOutput, iCapacity, pSize);

xrtHttpViaBuild

构建零结尾 Via 字段值,返回值由 xrtFree 释放。

str xrtHttpViaBuild( const xhttpviavalue* pVia, size_t iCount, size_t* pSize );
参数说明
const xhttpviavalue* pViaVia 对象
size_t iCount数量
size_t* pSize出:大小
返回:构建零结尾 Via 字段值,返回值由 xrtFree 释放。

示例已编译验证

/* 构建零结尾 Via 字段值,返回值由 xrtFree 释放。 */
result = xrtHttpViaBuild(pVia, iCount, pSize);