Fix combining header values and warn about empty/bad header values

This commit is contained in:
Richard Frith-Macdonald 2023-09-06 17:49:05 +01:00
parent 570aa0bf2a
commit 5f92c87d78

View file

@ -130,14 +130,22 @@ typedef struct {
while ((h = [e nextObject]) != nil)
{
NSString *n = [h namePreservingCase: YES];
NSString *o = [this->headers objectForKey: n];
NSString *v = [h fullValue];
if (nil != o)
if ([v isKindOfClass: [NSString class]] && [v length] > 0)
{
n = [NSString stringWithFormat: @"%@, %@", o, n];
NSString *o = [this->headers objectForKey: n];
if (nil != o)
{
n = [NSString stringWithFormat: @"%@, %@", o, v];
}
[self _setValue: v forHTTPHeaderField: n];
}
else
{
NSLog(@"Ignored bad/empty header value for %@", h);
}
[self _setValue: v forHTTPHeaderField: n];
}
}
[self _checkHeaders];