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* pVia | Via 对象 |
返回:严格解析一个不含列表逗号的非空 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* pVia | Via 对象 |
返回:按线路顺序迭代一个完整 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* pVia | Via 对象 |
返回:跨重复 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* pVia | Via 对象 |
| 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* pVia | Via 对象 |
| 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* pVia | Via 对象 |
| size_t iCount | 数量 |
| size_t* pSize | 出:大小 |
返回:构建零结尾 Via 字段值,返回值由 xrtFree 释放。
示例已编译验证
/* 构建零结尾 Via 字段值,返回值由 xrtFree 释放。 */ result = xrtHttpViaBuild(pVia, iCount, pSize);