UNPKG

strong-arc

Version:

A visual suite for the StrongLoop API Platform

57 lines (53 loc) 1.66 kB
var Composer = angular.module('Composer', []); Composer.config(['growlProvider', function (growlProvider) { growlProvider.globalTimeToLive(1800); }]); Composer.config([ '$httpProvider', function ($httpProvider) { $httpProvider.interceptors.push('requestInterceptor'); } ]); Composer.factory('requestInterceptor', [ '$q', '$rootScope', '$location', '$cookieStore', function ($q, $rootScope) { return { 'request': function (config) { return config || $q.when(config); }, responseError: function (rejection) { if ((rejection.status > 499) || (rejection.status === 422)) { var error = rejection.data && rejection.data.error; if (!error) { error = { message: rejection.data }; } $rootScope.$broadcast('GlobalExceptionEvent', { requestUrl: rejection.config && rejection.config.url, message: error && error.message, details: error && error.details, name: error && error.name, stack: error && error.stack, code: error && error.code, status: rejection.status || 'unknown', } ); } return $q.reject(rejection); } }; } ]); // Get project name from package.json Composer.run(['$rootScope', '$log', 'PackageDefinition', function ($rootScope, $log, PackageDefinition) { var pkg = PackageDefinition.findOne(); return pkg.$promise .then(function () { $rootScope.projectName = pkg.name; }) .catch(function (err) { $log.warn('Cannot get project\'s package definition.', err); }); }]);