class EntityTagHeaderValue
public class EntityTagHeaderValue <: Equatable<EntityTagHeaderValue>功能:表示 HTTP ETag 标头值(RFC 7232 §2.3)
支持:
- 强 ETag:
"abc123" - 弱 ETag:
W/"abc123" - 通配符:
*(仅在 If-Match / If-None-Match 中使用)
父类型:
- Equatable<EntityTagHeaderValue>
成员概览
| 成员 | 功能 |
|---|---|
| init(String) | 构造强 ETag(isWeak = false) |
| init(String, Bool) | 构造 ETag |
| let any | 通配符 ETag(*),表示"任意 ETag" |
| prop tag | 带引号的 ETag 标签值(如 "abc123") |
| prop isWeak | 是否为弱 ETag(W/ 前缀) |
| func toString() | 序列化为字符串:弱 ETag 带 W/ 前缀 |
| func ==(EntityTagHeaderValue) | 比较两个 ETag 标头值是否相等。 |
| func hashCode() | 返回当前 ETag 标头值的哈希值。 |
| func compare(EntityTagHeaderValue, Bool) | RFC 7232 §2.3.2 ETag 比较 |
| func parse(String) | 解析单个 ETag 字符串,格式非法时抛出异常 |
| func tryParse(String) | 尝试解析单个 ETag 字符串,返回 None 表示格式无效 |
| func parseList(?ArrayList<String>) | 解析逗号分隔的 ETag 列表(宽松模式,忽略无效项) |
| func parseStrictList(?ArrayList<String>) | 解析逗号分隔的 ETag 列表(严格模式,遇无效项抛出异常) |
| func tryParseList(?ArrayList<String>) | 尝试解析逗号分隔的 ETag 列表(宽松模式),有效项为空时返回 None |
| func tryParseStrictList(?ArrayList<String>) | 尝试解析逗号分隔的 ETag 列表(严格模式),遇到无效项返回 None |
init(String)
public init(tag: String)功能:构造强 ETag(isWeak = false)
tag 必须是 quoted-string(如 "abc")或通配符 *
参数:
- tag:
String- ETag 标签值。
init(String, Bool)
public init(tag: String, isWeak: Bool)功能:构造 ETag
tag 必须是 quoted-string(如 "abc");若 isWeak=false 则也接受通配符 * 注意:弱 ETag 不允许 *(RFC 7232 §2.3)
参数:
- tag:
String- ETag 标签值。 - isWeak:
Bool- 是否构造为弱 ETag。
let any
public static let any: EntityTagHeaderValue = EntityTagHeaderValue("*", false)功能:通配符 ETag(*),表示"任意 ETag"
prop tag
public prop tag: String功能:带引号的 ETag 标签值(如 "abc123")
类型:String
prop isWeak
public prop isWeak: Bool功能:是否为弱 ETag(W/ 前缀)
类型:Bool
func toString()
public func toString(): String功能:序列化为字符串:弱 ETag 带 W/ 前缀
返回值:
String- 当前 ETag 标头的字符串表示。
func ==(EntityTagHeaderValue)
public operator func ==(other: EntityTagHeaderValue): Bool功能:比较两个 ETag 标头值是否相等。
参数:
- other: EntityTagHeaderValue - 要比较的 ETag 标头值。
返回值:
Bool- 如果两个 ETag 标头值相等则返回 true,否则返回 false。
func hashCode()
public func hashCode(): Int64功能:返回当前 ETag 标头值的哈希值。
返回值:
Int64- 当前 ETag 标头值的哈希值。
func compare(EntityTagHeaderValue, Bool)
public func compare(other: EntityTagHeaderValue, useStrongComparison: Bool): Bool功能:RFC 7232 §2.3.2 ETag 比较
useStrongComparison=true:强比较,双方均不得为弱 ETag,且 tag 字节完全相同 useStrongComparison=false:弱比较,忽略强弱标志,仅比较 tag 字节
参数:
- other: EntityTagHeaderValue - 要比较的另一个 ETag。
- useStrongComparison:
Bool- 是否执行强比较。
返回值:
Bool- 满足比较规则时返回true。
func parse(String)
public static func parse(input: String): EntityTagHeaderValue功能:解析单个 ETag 字符串,格式非法时抛出异常
参数:
- input:
String- 待解析的 ETag 字符串。
返回值:
- EntityTagHeaderValue - 解析得到的 ETag 标头值。
func tryParse(String)
public static func tryParse(input: String): ?EntityTagHeaderValue功能:尝试解析单个 ETag 字符串,返回 None 表示格式无效
参数:
- input:
String- 待解析的 ETag 字符串。
返回值:
- ?EntityTagHeaderValue - 解析成功时返回 ETag 标头值;失败时返回
None。
func parseList(?ArrayList<String>)
public static func parseList(inputs: ?ArrayList<String>): ArrayList<EntityTagHeaderValue>功能:解析逗号分隔的 ETag 列表(宽松模式,忽略无效项)
参数:
- inputs:
?ArrayList<String>- 待解析的原始字符串列表。
返回值:
- ArrayList<EntityTagHeaderValue> - 成功解析得到的 ETag 列表。
func parseStrictList(?ArrayList<String>)
public static func parseStrictList(inputs: ?ArrayList<String>): ArrayList<EntityTagHeaderValue>功能:解析逗号分隔的 ETag 列表(严格模式,遇无效项抛出异常)
参数:
- inputs:
?ArrayList<String>- 待解析的原始字符串列表。
返回值:
- ArrayList<EntityTagHeaderValue> - 严格解析得到的 ETag 列表。
func tryParseList(?ArrayList<String>)
public static func tryParseList(inputs: ?ArrayList<String>): ?ArrayList<EntityTagHeaderValue>功能:尝试解析逗号分隔的 ETag 列表(宽松模式),有效项为空时返回 None
参数:
- inputs:
?ArrayList<String>- 待解析的原始字符串列表。
返回值:
- ?ArrayList<EntityTagHeaderValue> - 解析成功时返回 ETag 列表;失败或无有效项时返回
None。
func tryParseStrictList(?ArrayList<String>)
public static func tryParseStrictList(inputs: ?ArrayList<String>): ?ArrayList<EntityTagHeaderValue>功能:尝试解析逗号分隔的 ETag 列表(严格模式),遇到无效项返回 None
参数:
- inputs:
?ArrayList<String>- 待解析的原始字符串列表。
返回值:
- ?ArrayList<EntityTagHeaderValue> - 严格解析成功时返回 ETag 列表;失败时返回
None。