From 016bbc33677c58f58a98a50ff226a7a6fb0c0664 Mon Sep 17 00:00:00 2001 From: Eric Date: Tue, 9 Apr 2019 17:31:22 -0300 Subject: [PATCH] interceptor --- src/js/interceptor.js | 41 +++++++++++++++++++++++------------------ src/js/service.js | 2 +- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/js/interceptor.js b/src/js/interceptor.js index 1212c3c..c9517a4 100644 --- a/src/js/interceptor.js +++ b/src/js/interceptor.js @@ -1,18 +1,16 @@ angular.module('focaConfiguracion') - .factory("RequestHeadersInterceptor", [ '$injector', + .factory("interceptorRequest", [ '$injector', function($injector) { function reintentarRequest(httpConfig) { var $timeout = $injector.get('$timeout'); - $timeout(function() { + return $timeout(function() { var $http = $injector.get('$http'); return $http(httpConfig.config); - }, 5000); - - return getDataSqlite(httpConfig); + }, 10000); } function updateDataSqlite(request) { @@ -23,10 +21,11 @@ angular.module('focaConfiguracion') request.config.url, JSON.stringify(request.config.data), request.config.method, - JSON.stringify(request.data)) + JSON.stringify(request.data)); } function getDataSqlite(request) { + return new Promise(function(resolve) { var sqliteService = $injector.get('focaSqliteService'); @@ -37,19 +36,20 @@ angular.module('focaConfiguracion') request.config.method, respuesta); - function respuesta(config) { + function respuesta(config) { + + if (config) { var request = { - data: JSON.parse(config), + data: JSON.parse(config.response), status: 200 }; - console.log(request); - - if (config) { - resolve(request); - } + resolve(request); + } else { + resolve(false); } + } }); } @@ -58,11 +58,14 @@ angular.module('focaConfiguracion') if (config.status === -1) { - var data = await reintentarRequest(config); - - config.data = data.data; + var data = await getDataSqlite(config); - return config; + if (!data) { + return reintentarRequest(config); + } else { + config.data = data.data; + return config; + } } else { return config; @@ -79,4 +82,6 @@ angular.module('focaConfiguracion') return request; } - ]); + ]).config(['$httpProvider', function($httpProvider) { + $httpProvider.interceptors.push('interceptorRequest'); + }]); diff --git a/src/js/service.js b/src/js/service.js index 41d28c6..ed5552f 100644 --- a/src/js/service.js +++ b/src/js/service.js @@ -5,7 +5,7 @@ angular.module('appWrapperDemo') 'ENDPOINT_BASE', function($http, $localStorage, ENDPOINT_BASE) { return { - URL: 'http://debonline.dyndns.org:9900', + URL: 'http://10.231.45.189:9900', ENDPOINT_BASE: ENDPOINT_BASE, setUrl: function(url) { this.URL = url; -- 1.9.1