function apiRequest()

in frontend/app/scripts/services/httpService.js [21:87]


        function apiRequest(requrl, method, payload, headers, nopopup) {
            var tenant = localStorage.getItem('tenant');
            if (!tenant || tenant == undefined || tenant == null) {
                tenant = 'default';
                localStorage.setItem('tenant', 'default');
            }

            var defer = $q.defer();
            if (undefined === requrl || null === requrl || undefined === method || null === method) {
                defer.reject("invalid params");
                return defer.promise;
            }
            var baseUrl = "/sc"
            if (undefined === headers || null === headers) {
                headers = {
                    'x-domain-name': tenant
                };
            } else {
                headers['x-domain-name'] = tenant;
            }

            var url = baseUrl + '/' + requrl;
            $http({
                url: url,
                method: method,
                data: payload,
                headers: headers
            }).then(function(response) {
                defer.resolve(response);
            }, function(error) {
                if (nopopup) {
                    defer.reject(error);
                    return;
                }
                var parentEl = angular.element(document.body);
                $mdDialog.show({
                    parent: parentEl,
                    templateUrl: 'views/serverError.html',
                    locals: {
                        error: error
                    },
                    skipHide: true,
                    controller: function($scope, $mdDialog, error) {
                        switch (error.status) {
                            case 502:
                                error.data = "Service-Center is not reachable"
                                break;
                            case 500:
                                error.data = "Mostly probably the Service-Center is not running or crashed"
                                break;
                            case 400:
                                error.data = "The request is in-appropriate"
                                break;
                            case 404:
                                error.data = "Requested entity was not found"
                                break;
                        }
                        $scope.error = error;
                        $scope.closeDialog = function() {
                            $mdDialog.hide();
                        };
                    }
                });
                defer.reject(error);
            });
            return defer.promise;
        }