From 3a3842c6696f121392c89b68f2f061043405ae9f Mon Sep 17 00:00:00 2001 From: jaubourg Date: Tue, 19 Apr 2011 00:29:20 -0700 Subject: [PATCH] (Re) Fixes #8884 in a way that keeps the format of the headers map sent to transports natural. --- src/ajax.js | 7 +++++-- src/ajax/xhr.js | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ajax.js b/src/ajax.js index 4f8fee6c..a16717b0 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -95,7 +95,7 @@ function addToPrefiltersOrTransports( structure ) { }; } -//Base inspection function for prefilters and transports +// Base inspection function for prefilters and transports function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, dataType /* internal */, inspected /* internal */ ) { @@ -389,6 +389,7 @@ jQuery.extend({ ifModifiedKey, // Headers (they are sent all at once) requestHeaders = {}, + requestHeadersNames = {}, // Response headers responseHeadersString, responseHeaders, @@ -412,7 +413,9 @@ jQuery.extend({ // Caches the header setRequestHeader: function( name, value ) { if ( !state ) { - requestHeaders[ name.toLowerCase() ] = { n: name, v: value }; + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; } return this; }, diff --git a/src/ajax/xhr.js b/src/ajax/xhr.js index ba4c3ec7..5dbc33d3 100644 --- a/src/ajax/xhr.js +++ b/src/ajax/xhr.js @@ -104,7 +104,7 @@ if ( jQuery.support.ajax ) { // Need an extra try/catch for cross domain requests in Firefox 3 try { for ( i in headers ) { - xhr.setRequestHeader( headers[ i ].n, headers[ i ].v ); + xhr.setRequestHeader( i, headers[ i ] ); } } catch( _ ) {}