in Sources/RawStructuredFieldValues/FieldSerializer.swift [212:237]
func validateStructuredHeaderKey() throws {
let utf8View = self.utf8
if let firstByte = utf8View.first {
switch firstByte {
case asciiLowercases, asciiAsterisk:
// Good
()
default:
throw StructuredHeaderError.invalidKey
}
}
let validKey = utf8View.dropFirst().allSatisfy {
switch $0 {
case asciiLowercases, asciiDigits, asciiUnderscore,
asciiDash, asciiPeriod, asciiAsterisk:
return true
default:
return false
}
}
guard validKey else {
throw StructuredHeaderError.invalidKey
}
}