MCPcopy Create free account
hub / github.com/bclinkinbeard/angular / $http

Function $http

test/fixtures/foo.js:8050–8169  ·  view source on GitHub ↗

* @ngdoc service * @kind function * @name $http * @requires ng.$httpBackend * @requires $cacheFactory * @requires $rootScope * @requires $q * @requires $injector * * @description * The `$http` service is a core Angular service that facilitates commun

(requestConfig)

Source from the content-addressed store, hash-verified

8048</example>
8049 */
8050 function $http(requestConfig) {
8051 var config = {
8052 method: 'get',
8053 transformRequest: defaults.transformRequest,
8054 transformResponse: defaults.transformResponse
8055 };
8056 var headers = mergeHeaders(requestConfig);
8057
8058 extend(config, requestConfig);
8059 config.headers = headers;
8060 config.method = uppercase(config.method);
8061
8062 var serverRequest = function(config) {
8063 headers = config.headers;
8064 var reqData = transformData(config.data, headersGetter(headers), config.transformRequest);
8065
8066 // strip content-type if data is undefined
8067 if (isUndefined(reqData)) {
8068 forEach(headers, function(value, header) {
8069 if (lowercase(header) === 'content-type') {
8070 delete headers[header];
8071 }
8072 });
8073 }
8074
8075 if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) {
8076 config.withCredentials = defaults.withCredentials;
8077 }
8078
8079 // send request
8080 return sendReq(config, reqData, headers).then(transformResponse, transformResponse);
8081 };
8082
8083 var chain = [serverRequest, undefined];
8084 var promise = $q.when(config);
8085
8086 // apply interceptors
8087 forEach(reversedInterceptors, function(interceptor) {
8088 if (interceptor.request || interceptor.requestError) {
8089 chain.unshift(interceptor.request, interceptor.requestError);
8090 }
8091 if (interceptor.response || interceptor.responseError) {
8092 chain.push(interceptor.response, interceptor.responseError);
8093 }
8094 });
8095
8096 while(chain.length) {
8097 var thenFn = chain.shift();
8098 var rejectFn = chain.shift();
8099
8100 promise = promise.then(thenFn, rejectFn);
8101 }
8102
8103 promise.success = function(fn) {
8104 promise.then(function(response) {
8105 fn(response.data, response.status, response.headers, config);
8106 });
8107 return promise;

Callers 2

createShortMethodsFunction · 0.85

Calls 4

mergeHeadersFunction · 0.85
extendFunction · 0.85
uppercaseFunction · 0.85
forEachFunction · 0.85

Tested by

no test coverage detected