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 ListLst 参数
size_t* pOffset出:偏移
xhttpmediarange* pRangeRange 参数
返回:严格迭代一个 Accept 字段值,忽略由连续逗号产生的空成员。

示例已编译验证

/* 严格迭代一个 Accept 字段值,忽略由连续逗号产生的空成员。 */
result = xrtHttpMediaRangeNext(List, pOffset, pRange);

xrtHttpMediaRangeParamNext

迭代媒体范围的非 q 参数;描述符、游标和结果均支持未对齐存储。

xhttpnext xrtHttpMediaRangeParamNext( const xhttpmediarange* pRange, size_t* pOffset, xhttpparam* pParam );
参数说明
const xhttpmediarange* pRangeRange 参数
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* pRangeRange 参数
返回:按线路顺序跨越全部重复 Accept 字段迭代媒体范围。

示例已编译验证

/* 按线路顺序跨越全部重复 Accept 字段迭代媒体范围。 */
result = xrtHttpAcceptNext(pFields, iCount, pCursor, pRange);

xrtHttpMediaRangeMatch

判断已解析媒体范围是否匹配已解析媒体类型。

xhttpnext xrtHttpMediaRangeMatch( const xhttpmediarange* pRange, const xmediatype* pType );
参数说明
const xhttpmediarange* pRangeRange 参数
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 MediaTypeMedaTye 参数
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 MediaTypeMedaTye 参数
返回:返回媒体类型的有效质量值;错误与不可接受都返回零,错误槽区分二者。

示例已编译验证

/* 返回媒体类型的有效质量值;错误与不可接受都返回零,错误槽区分二者。 */
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* pMediaTypesMedaTyes 参数
size_t iMediaTypeCountMedaTyeCount 参数
size_t* pIndex出:下标
返回:从按服务端偏好排序的媒体类型数组中选择最高质量项。

示例已编译验证

/* 从按服务端偏好排序的媒体类型数组中选择最高质量项。 */
result = xrtHttpAcceptSelect(pFields, iFieldCount, pMediaTypes, iMediaTypeCount, pIndex);