I'm facing an issue when calling API, let me explain architecture first.
Whole font-end application os AngularJS 1.5 based, hosted on domains like below: app1.mydomain.com, app2.mydomain.com, appN.mydomain.com
I have an API (Symfony2 based - FOS Rest) which is on:
api.mydomain.com
Server is Nginx, php5 (fpm), CORS open.
Now, lets describe problem:
Im calling an API endpoint for some data:
var data = {someProperty: someValue};
var $p = $resource($rootScope.apiDomain + '/some/endpoint', {}, {
get: {
method: 'GET'
}
}).get(data).$promise;
var request = $q.all({request: $p});
return request
.then(function (response) {
// code on success
}, function (error) {
// code on error
});
Now let's say that server's response is ANY of 400's or 500's, then in ResponseError (interceptor) i've should get this code as an 'status' value
responseError: function (response) {
if (403 === response.status) {
// something on 403
}
// do something on other codes
return $q.reject(response);
}
No matter which response code is sent back from backend server, the response
object contains following:
Object {data: null, status: -1, config: Object, statusText: ""}
However... i've seen THIS ANSER and this is basically what i do have now...
So:
- Is there any way to solve such issue (i have, let's say full possibility in configuration of both back&front in any way)
- If it's not "solvable" easily, then how to?