MCPcopy
hub / github.com/mgonto/restangular / okCallback

Function okCallback

src/restangular.js:1137–1192  ·  view source on GitHub ↗
(response)

Source from the content-addressed store, hash-verified

1135 }
1136
1137 var okCallback = function(response) {
1138 var resData = response.data;
1139 var fullParams = response.config.params;
1140 var data = parseResponse(resData, operation, whatFetched, url, response, deferred);
1141
1142 // support empty response for getList() calls (some APIs respond with 204 and empty body)
1143 if (_.isUndefined(data) || '' === data) {
1144 data = [];
1145 }
1146 if (!_.isArray(data)) {
1147 throw new Error('Response for getList SHOULD be an array and not an object or something else');
1148 }
1149
1150 if (true === config.plainByDefault) {
1151 return resolvePromise(deferred, response, data, filledArray);
1152 }
1153
1154 var processedData = _.map(data, function(elem) {
1155 if (!__this[config.restangularFields.restangularCollection]) {
1156 return restangularizeElem(__this, elem, what, true, data);
1157 } else {
1158 return restangularizeElem(__this[config.restangularFields.parentResource],
1159 elem, __this[config.restangularFields.route], true, data);
1160 }
1161 });
1162
1163 processedData = _.extend(data, processedData);
1164
1165 if (!__this[config.restangularFields.restangularCollection]) {
1166 resolvePromise(
1167 deferred,
1168 response,
1169 restangularizeCollection(
1170 __this,
1171 processedData,
1172 what,
1173 true,
1174 fullParams
1175 ),
1176 filledArray
1177 );
1178 } else {
1179 resolvePromise(
1180 deferred,
1181 response,
1182 restangularizeCollection(
1183 __this[config.restangularFields.parentResource],
1184 processedData,
1185 __this[config.restangularFields.route],
1186 true,
1187 fullParams
1188 ),
1189 filledArray
1190 );
1191 }
1192 };
1193
1194 urlHandler.resource(this, $http, request.httpConfig, request.headers, request.params, what,

Callers

nothing calls this directly

Calls 4

parseResponseFunction · 0.85
resolvePromiseFunction · 0.85
restangularizeElemFunction · 0.85
restangularizeCollectionFunction · 0.85

Tested by

no test coverage detected