Bug 254158

Summary: httpHeaderField always returns string
Product: WebKit Reporter: Anne van Kesteren <annevk>
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: cdumez, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Anne van Kesteren 2023-03-20 08:31:56 PDT
This makes it impossible to distinguish between a missing header and a header that is present whose value is the empty string.

It would be better if we were precise about this as Fetch and HTTP are too.
Comment 1 Radar WebKit Bug Importer 2023-03-20 08:32:05 PDT
<rdar://problem/106944735>
Comment 2 Chris Dumez 2023-03-20 08:35:08 PDT
String has a null state in WebKit.

This should be distinguishable already. `string.isNull()` -> header is missing. `string.isEmpty() && !string.isNull()` -> header is present but has no value.
Comment 3 Chris Dumez 2023-03-20 08:35:32 PDT
I suggest we mark this bug as invalid unless I missed something.
Comment 4 Chris Dumez 2023-03-20 08:39:21 PDT
You could also use `httpHeaderFields().contains()`.
Comment 5 youenn fablet 2023-03-20 08:48:41 PDT
The bug is more that, apparently, some code paths are using isEmpty() while they should probably use isNull().
Comment 6 Anne van Kesteren 2023-03-20 09:04:17 PDT
Ah, I didn't realize that! Let's close this as INVALID then. I'll follow-up with more detailed bugs as I come across things.