Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit f47dd1b

Browse files
committedAug 25, 2014
feat(http): add config parameter to headers functions
1 parent addfc56 commit f47dd1b

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed
 

‎src/ng/http.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -717,15 +717,15 @@ function $HttpProvider() {
717717
}
718718

719719
// execute if header value is a function for merged headers
720-
execHeaders(reqHeaders);
720+
execHeaders(reqHeaders, config.data);
721721
return reqHeaders;
722722

723-
function execHeaders(headers) {
723+
function execHeaders(headers, data) {
724724
var headerContent;
725725

726726
forEach(headers, function(headerFn, header) {
727727
if (isFunction(headerFn)) {
728-
headerContent = headerFn();
728+
headerContent = headerFn(data);
729729
if (headerContent != null) {
730730
headers[header] = headerContent;
731731
} else {

‎test/ng/httpSpec.js

+10-8
Original file line numberDiff line numberDiff line change
@@ -755,17 +755,19 @@ describe('$http', function() {
755755
}));
756756

757757
it('should send execute result if header value is function', inject(function() {
758-
var headerConfig = {'Accept': function() { return 'Rewritten'; }};
758+
var headerConfig = {'Accept': function(config) { return 'Rewritten-' + config.method; }};
759759

760-
function checkHeaders(headers) {
761-
return headers['Accept'] == 'Rewritten';
760+
function checkHeaders(method) {
761+
return function(headers) {
762+
return headers['Accept'] == 'Rewritten-' + method;
763+
};
762764
}
763765

764-
$httpBackend.expect('GET', '/url', undefined, checkHeaders).respond('');
765-
$httpBackend.expect('POST', '/url', undefined, checkHeaders).respond('');
766-
$httpBackend.expect('PUT', '/url', undefined, checkHeaders).respond('');
767-
$httpBackend.expect('PATCH', '/url', undefined, checkHeaders).respond('');
768-
$httpBackend.expect('DELETE', '/url', undefined, checkHeaders).respond('');
766+
$httpBackend.expect('GET', '/url', undefined, checkHeaders('GET')).respond('');
767+
$httpBackend.expect('POST', '/url', undefined, checkHeaders('POST')).respond('');
768+
$httpBackend.expect('PUT', '/url', undefined, checkHeaders('PUT')).respond('');
769+
$httpBackend.expect('PATCH', '/url', undefined, checkHeaders('PATCH')).respond('');
770+
$httpBackend.expect('DELETE', '/url', undefined, checkHeaders('DELETE')).respond('');
769771

770772
$http({url: '/url', method: 'GET', headers: headerConfig});
771773
$http({url: '/url', method: 'POST', headers: headerConfig});

0 commit comments

Comments
 (0)
This repository has been archived.