xrtCookieNext

逐项扫描完整 Cookie 字段值;成功项和失败均只在返回时提交 Offset。

xcookienext xrtCookieNext( xstrview Text, size_t* pOffset, xcookiepair* pPair );
参数说明
xstrview Text文本视图
size_t* pOffset出:偏移
xcookiepair* pPairPar 参数
返回:逐项扫描完整 Cookie 字段值;成功项和失败均只在返回时提交 Offset。

示例已编译验证

/* 逐项扫描完整 Cookie 字段值;成功项和失败均只在返回时提交 Offset。 */
result = xrtCookieNext(Text, pOffset, pPair);

xrtCookieValidate

完整校验 Cookie 字段值并应用显式限额;成功时可返回 pair 数量。

bool xrtCookieValidate( xstrview Text, const xcookielimits* pLimits, size_t* pCount );
参数说明
xstrview Text文本视图
const xcookielimits* pLimitsLmts 参数
size_t* pCount出:数量
返回:完整校验 Cookie 字段值并应用显式限额;成功时可返回 pair 数量。

示例已编译验证

/* 完整校验 Cookie 字段值并应用显式限额;成功时可返回 pair 数量。 */
result = xrtCookieValidate(Text, pLimits, pCount);

xrtCookieFind

XRT_API xcookienext xrtCookieFind( xstrview Text, xstrview Name, size_t* pOffset, xcookiepair* pPair );

;
返回:XRT_API xcookienext xrtCookieFind( xstrview Text, xstrview Name, size_t* pOffset, xcookiepair* pPair );

示例已编译验证

/* XRT_API xcookienext xrtCookieFind( xstrview Text, xstrview Name, size_t* pOffset, xcookiepair* pPair ); */
result = xrtCookieFind();

xrtCookieParse

XRT_API bool xrtCookieParse( xstrview Text, xcookiepair* pPairs, size_t iCapacity, size_t* pCount, const xcookielimits* pLimits );

;
返回:XRT_API bool xrtCookieParse( xstrview Text, xcookiepair* pPairs, size_t iCapacity, size_t* pCount, const xcookielimits* pLimits );

示例已编译验证

/* XRT_API bool xrtCookieParse( xstrview Text, xcookiepair* pPairs, size_t iCapacity, size_t* pCount, const xcookielimits* pLimits ); */
result = xrtCookieParse();

xrtCookieWrite

写出不含字段名和零结尾的规范 Cookie 字段值;空输出可查询精确长度。

bool xrtCookieWrite( const xcookiepair* pPairs, size_t iCount, void* pOutput, size_t iCapacity, size_t* pSize );
参数说明
const xcookiepair* pPairsPars 参数
size_t iCount数量
void* pOutput出:输出缓冲
size_t iCapacity容量
size_t* pSize出:大小
返回:写出不含字段名和零结尾的规范 Cookie 字段值;空输出可查询精确长度。

示例已编译验证

/* 写出不含字段名和零结尾的规范 Cookie 字段值;空输出可查询精确长度。 */
result = xrtCookieWrite(pPairs, iCount, pOutput, iCapacity, pSize);

xrtCookieBuild

分配并构建零结尾 Cookie 字段值;返回值由 xrtFree 释放。

str xrtCookieBuild( const xcookiepair* pPairs, size_t iCount, size_t* pSize );
参数说明
const xcookiepair* pPairsPars 参数
size_t iCount数量
size_t* pSize出:大小
返回:分配并构建零结尾 Cookie 字段值;返回值由 xrtFree 释放。

示例已编译验证

/* 分配并构建零结尾 Cookie 字段值;返回值由 xrtFree 释放。 */
result = xrtCookieBuild(pPairs, iCount, pSize);

xrtSetCookieAttributeNext

扫描 xsetcookie.RawAttributes;未知属性和值存在位会原样暴露。

xcookieattributenext xrtSetCookieAttributeNext( xstrview Text, size_t* pOffset, xcookieattribute* pAttribute );
参数说明
xstrview Text文本视图
size_t* pOffset出:偏移
xcookieattribute* pAttributeAttrbute 参数
返回:扫描 xsetcookie.RawAttributes;未知属性和值存在位会原样暴露。

示例已编译验证

/* 扫描 xsetcookie.RawAttributes;未知属性和值存在位会原样暴露。 */
result = xrtSetCookieAttributeNext(Text, pOffset, pAttribute);

xrtCookieDateParse

按 RFC 10025 宽松 cookie-date 算法解析 UTC 时间。

bool xrtCookieDateParse(xstrview Text, xtime* pTime);
参数说明
xstrview Text文本视图
xtime* pTime出:时间
返回:按 RFC 10025 宽松 cookie-date 算法解析 UTC 时间。

示例已编译验证

/* 按 RFC 10025 宽松 cookie-date 算法解析 UTC 时间。 */
result = xrtCookieDateParse(Text, pTime);

xrtSetCookieValidate

按 RFC 10025 服务器生成语法严格校验一个 Set-Cookie 字段值。

bool xrtSetCookieValidate(xstrview Text);
参数说明
xstrview Text文本视图
返回:按 RFC 10025 服务器生成语法严格校验一个 Set-Cookie 字段值。

示例已编译验证

/* 按 RFC 10025 服务器生成语法严格校验一个 Set-Cookie 字段值。 */
result = xrtSetCookieValidate(Text);

xrtSetCookieParse

XRT_API bool xrtSetCookieParse(xstrview Text, xsetcookie* pCookie);

;
返回:XRT_API bool xrtSetCookieParse(xstrview Text, xsetcookie* pCookie);

示例已编译验证

/* XRT_API bool xrtSetCookieParse(xstrview Text, xsetcookie* pCookie); */
result = xrtSetCookieParse();

xrtSetCookieWrite

XRT_API bool xrtSetCookieWrite( const xsetcookie* pCookie, void* pOutput, size_t iCapacity, size_t* pSize );

;
返回:XRT_API bool xrtSetCookieWrite( const xsetcookie* pCookie, void* pOutput, size_t iCapacity, size_t* pSize );

示例已编译验证

/* XRT_API bool xrtSetCookieWrite( const xsetcookie* pCookie, void* pOutput, size_t iCapacity, size_t* pSize ); */
result = xrtSetCookieWrite();

xrtSetCookieBuild

分配并构建零结尾 Set-Cookie 字段值;返回值由 xrtFree 释放。

str xrtSetCookieBuild( const xsetcookie* pCookie, size_t* pSize );
参数说明
const xsetcookie* pCookieCookie
size_t* pSize出:大小
返回:分配并构建零结尾 Set-Cookie 字段值;返回值由 xrtFree 释放。

示例已编译验证

/* 分配并构建零结尾 Set-Cookie 字段值;返回值由 xrtFree 释放。 */
result = xrtSetCookieBuild(pCookie, pSize);