From 25d9f5a804b7a6a61db6e84e594b1b5fe7ea14bf Mon Sep 17 00:00:00 2001 From: Caio Cunha Date: Wed, 19 Jun 2013 21:30:28 +0100 Subject: fix($http): ensure case-insens. header overriding If user send content-type header, both content-type and default Content-Type headers were sent. Now default header overriding is case-insensitive. --- test/ng/httpSpec.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test') diff --git a/test/ng/httpSpec.js b/test/ng/httpSpec.js index bb4de3c1..18be5826 100644 --- a/test/ng/httpSpec.js +++ b/test/ng/httpSpec.js @@ -430,6 +430,21 @@ describe('$http', function() { }); + it('should override default headers with custom in a case insensitive manner', function() { + $httpBackend.expect('POST', '/url', 'messageBody', function(headers) { + return headers['accept'] == 'Rewritten' && + headers['content-type'] == 'Content-Type Rewritten' && + headers['Accept'] === undefined && + headers['Content-Type'] === undefined; + }).respond(''); + + $http({url: '/url', method: 'POST', data: 'messageBody', headers: { + 'accept': 'Rewritten', + 'content-type': 'Content-Type Rewritten' + }}); + $httpBackend.flush(); + }); + it('should not send Content-Type header if request data/body is undefined', function() { $httpBackend.expect('POST', '/url', undefined, function(headers) { return !headers.hasOwnProperty('Content-Type'); -- cgit v1.2.3