From 5b38439011799ae53156d137305d9440e0cddb0a Mon Sep 17 00:00:00 2001 From: jaubourg Date: Thu, 17 Feb 2011 17:03:09 +0100 Subject: [PATCH] Fixes #8297. Makes sure response headers with empty values are handled properly and do not prevent proper parsing of the entire response headers string. Unit test amended. --- src/ajax.js | 4 ++-- test/data/headers.php | 2 ++ test/unit/ajax.js | 12 +++++++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 76a2dc81..6414e8c2 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -4,7 +4,7 @@ var r20 = /%20/g, rbracket = /\[\]$/, rCRLF = /\r?\n/g, rhash = /#.*$/, - rheaders = /^(.*?):\s*(.*?)\r?$/mg, // IE leaves an \r character at EOL + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, // #7653, #8125, #8152: local protocol detection rlocalProtocol = /(?:^file|^widget|\-extension):$/, @@ -439,7 +439,7 @@ jQuery.extend({ } match = responseHeaders[ key.toLowerCase() ]; } - return match || null; + return match === undefined ? null : match; }, // Overrides response content-type header diff --git a/test/data/headers.php b/test/data/headers.php index d500b16f..968f13f1 100644 --- a/test/data/headers.php +++ b/test/data/headers.php @@ -1,6 +1,8 @@