xrtHttpAcceptCursorInit
初始化可重复使用的 Accept 字段游标。
void xrtHttpAcceptCursorInit(xhttpacceptcursor* pCursor);
| 参数 | 说明 |
|---|---|
| xhttpacceptcursor* pCursor | 游标 |
返回:初始化可重复使用的 Accept 字段游标。
示例已编译验证
httpacceptcursorinit obj; xrtHttpAcceptCursorInit(&obj, pCursor);
xrtHttpMediaRangeNext
严格迭代一个 Accept 字段值,忽略由连续逗号产生的空成员。
xhttpnext xrtHttpMediaRangeNext( xstrview List, size_t* pOffset, xhttpmediarange* pRange );
| 参数 | 说明 |
|---|---|
| xstrview List | Lst 参数 |
| size_t* pOffset | 出:偏移 |
| xhttpmediarange* pRange | Range 参数 |
返回:严格迭代一个 Accept 字段值,忽略由连续逗号产生的空成员。
示例已编译验证
/* 严格迭代一个 Accept 字段值,忽略由连续逗号产生的空成员。 */ result = xrtHttpMediaRangeNext(List, pOffset, pRange);
xrtHttpMediaRangeParamNext
迭代媒体范围的非 q 参数;描述符、游标和结果均支持未对齐存储。
xhttpnext xrtHttpMediaRangeParamNext( const xhttpmediarange* pRange, size_t* pOffset, xhttpparam* pParam );
| 参数 | 说明 |
|---|---|
| const xhttpmediarange* pRange | Range 参数 |
| size_t* pOffset | 出:偏移 |
| xhttpparam* pParam | 参数 |
返回:迭代媒体范围的非 q 参数;描述符、游标和结果均支持未对齐存储。
示例已编译验证
/* 迭代媒体范围的非 q 参数;描述符、游标和结果均支持未对齐存储。 */ result = xrtHttpMediaRangeParamNext(pRange, pOffset, pParam);
xrtHttpAcceptNext
按线路顺序跨越全部重复 Accept 字段迭代媒体范围。
xhttpnext xrtHttpAcceptNext( const xhttpfield* pFields, size_t iCount, xhttpacceptcursor* pCursor, xhttpmediarange* pRange );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xhttpacceptcursor* pCursor | 游标 |
| xhttpmediarange* pRange | Range 参数 |
返回:按线路顺序跨越全部重复 Accept 字段迭代媒体范围。
示例已编译验证
/* 按线路顺序跨越全部重复 Accept 字段迭代媒体范围。 */ result = xrtHttpAcceptNext(pFields, iCount, pCursor, pRange);
xrtHttpMediaRangeMatch
判断已解析媒体范围是否匹配已解析媒体类型。
xhttpnext xrtHttpMediaRangeMatch( const xhttpmediarange* pRange, const xmediatype* pType );
| 参数 | 说明 |
|---|---|
| const xhttpmediarange* pRange | Range 参数 |
| const xmediatype* pType | 类型 |
返回:判断已解析媒体范围是否匹配已解析媒体类型。
示例已编译验证
/* 判断已解析媒体范围是否匹配已解析媒体类型。 */ result = xrtHttpMediaRangeMatch(pRange, pType);
xrtHttpAcceptMatch
计算一个媒体类型的有效 Accept 匹配;缺失字段默认质量为 1000。
bool xrtHttpAcceptMatch( const xhttpfield* pFields, size_t iCount, xstrview MediaType, xhttpacceptmatch* pMatch );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xstrview MediaType | MedaTye 参数 |
| xhttpacceptmatch* pMatch | 出:匹配详情 |
返回:计算一个媒体类型的有效 Accept 匹配;缺失字段默认质量为 1000。
示例已编译验证
/* 计算一个媒体类型的有效 Accept 匹配;缺失字段默认质量为 1000。 */ result = xrtHttpAcceptMatch(pFields, iCount, MediaType, pMatch);
xrtHttpAcceptQuality
返回媒体类型的有效质量值;错误与不可接受都返回零,错误槽区分二者。
uint16 xrtHttpAcceptQuality( const xhttpfield* pFields, size_t iCount, xstrview MediaType );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iCount | 数量 |
| xstrview MediaType | MedaTye 参数 |
返回:返回媒体类型的有效质量值;错误与不可接受都返回零,错误槽区分二者。
示例已编译验证
/* 返回媒体类型的有效质量值;错误与不可接受都返回零,错误槽区分二者。 */ result = xrtHttpAcceptQuality(pFields, iCount, MediaType);
xrtHttpAcceptSelect
从按服务端偏好排序的媒体类型数组中选择最高质量项。
xhttpnext xrtHttpAcceptSelect( const xhttpfield* pFields, size_t iFieldCount, const xstrview* pMediaTypes, size_t iMediaTypeCount, size_t* pIndex );
| 参数 | 说明 |
|---|---|
| const xhttpfield* pFields | 字段数组 |
| size_t iFieldCount | 字段数量 |
| const xstrview* pMediaTypes | MedaTyes 参数 |
| size_t iMediaTypeCount | MedaTyeCount 参数 |
| size_t* pIndex | 出:下标 |
返回:从按服务端偏好排序的媒体类型数组中选择最高质量项。
示例已编译验证
/* 从按服务端偏好排序的媒体类型数组中选择最高质量项。 */ result = xrtHttpAcceptSelect(pFields, iFieldCount, pMediaTypes, iMediaTypeCount, pIndex);