MCPcopy
hub / github.com/binux/qiandao / $http

Function $http

web/static/components/angularjs/angular.js:8019–8138  ·  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

8017</example>
8018 */
8019 function $http(requestConfig) {
8020 var config = {
8021 method: 'get',
8022 transformRequest: defaults.transformRequest,
8023 transformResponse: defaults.transformResponse
8024 };
8025 var headers = mergeHeaders(requestConfig);
8026
8027 extend(config, requestConfig);
8028 config.headers = headers;
8029 config.method = uppercase(config.method);
8030
8031 var serverRequest = function(config) {
8032 headers = config.headers;
8033 var reqData = transformData(config.data, headersGetter(headers), config.transformRequest);
8034
8035 // strip content-type if data is undefined
8036 if (isUndefined(reqData)) {
8037 forEach(headers, function(value, header) {
8038 if (lowercase(header) === 'content-type') {
8039 delete headers[header];
8040 }
8041 });
8042 }
8043
8044 if (isUndefined(config.withCredentials) && !isUndefined(defaults.withCredentials)) {
8045 config.withCredentials = defaults.withCredentials;
8046 }
8047
8048 // send request
8049 return sendReq(config, reqData, headers).then(transformResponse, transformResponse);
8050 };
8051
8052 var chain = [serverRequest, undefined];
8053 var promise = $q.when(config);
8054
8055 // apply interceptors
8056 forEach(reversedInterceptors, function(interceptor) {
8057 if (interceptor.request || interceptor.requestError) {
8058 chain.unshift(interceptor.request, interceptor.requestError);
8059 }
8060 if (interceptor.response || interceptor.responseError) {
8061 chain.push(interceptor.response, interceptor.responseError);
8062 }
8063 });
8064
8065 while(chain.length) {
8066 var thenFn = chain.shift();
8067 var rejectFn = chain.shift();
8068
8069 promise = promise.then(thenFn, rejectFn);
8070 }
8071
8072 promise.success = function(fn) {
8073 promise.then(function(response) {
8074 fn(response.data, response.status, response.headers, config);
8075 });
8076 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