diff --git a/src/ng/http.js b/src/ng/http.js index 738d1cd12cfc..970d80485b03 100644 --- a/src/ng/http.js +++ b/src/ng/http.js @@ -48,7 +48,8 @@ function headersGetter(headers) { if (!headersObj) headersObj = parseHeaders(headers); if (name) { - return headersObj[lowercase(name)] || null; + name = lowercase(name); + return name in headersObj ? headersObj[name] : null; } return headersObj; diff --git a/test/ng/httpSpec.js b/test/ng/httpSpec.js index 1318bbc16e63..4daa0ba8c408 100644 --- a/test/ng/httpSpec.js +++ b/test/ng/httpSpec.js @@ -764,6 +764,16 @@ describe('$http', function() { }); + it('should handle empty response header', function() { + $httpBackend.expect('GET', '/url', undefined) + .respond(200, '', { 'Custom-Empty-Response-Header': '' }); + $http.get('/url').success(callback); + $httpBackend.flush(); + expect(callback).toHaveBeenCalledOnce(); + expect(callback.mostRecentCall.args[2]('custom-empty-response-Header')).toBe(''); + }); + + it('should have delete()', function() { $httpBackend.expect('DELETE', '/url').respond(''); $http['delete']('/url');