Commit d76cdec7 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Controla error interno en request, elimina /api

Muestra correctamente errores en salida de error de node cuando se
producen a nivel interno, no como respuesta del destino (por ejemplo, al
no tener una ruta de sitemap externo a la que consultar).

Deja de escuchar rutas con prefijo '/api', ya que se pretende empezar a
referenciarla mediante subdominio y ya no entrarían peticiones ajenas
para ofrecer una respuesta prefijada.
parent 10105eda
Loading
Loading
Loading
Loading
+3 −8
Original line number Diff line number Diff line
@@ -113,7 +113,8 @@ function onOwnRequestError(originalRes, err) {
		description: 'Something went wrong at server. Please, try again.'
	});

	logger.error(err);
	let errorMessage = err instanceof Object ? err.toString() : err;
	logger.error(errorMessage);
}

function onSitemapRequest(_req, res) {
@@ -123,7 +124,7 @@ function onSitemapRequest(_req, res) {
	let currTimestamp = Date.now();

	if (!sitemapContent || !sitemapContent.length || sitemapLastUpdated < currTimestamp - 300000) {
		let afterResponseCallback = (status, content) => status ? sitemapContent = content : sitemapContent = '';
		let afterResponseCallback = (status, content) => sitemapContent = status ? content : '';

		let internalReq = https.request(sitemapUrl, onOwnRequestResponse.bind(this, {
			originalRes: res,
@@ -160,11 +161,6 @@ function onRobotsRequest(req, res) {
	res.send(robotsContent);
}

function onApiRequest(_req, res) {

	res.redirect('/404');
}

function onNullableRequest(_req, res) {

	res.set('Content-Type', 'application/json');
@@ -244,7 +240,6 @@ function exposeRoutes(app) {
		.get('/404', on404Request)
		.get('/sitemap.xml', onSitemapRequest)
		.get('/robots.txt', onRobotsRequest)
		.get(/\/api\/.*/, onApiRequest)
		.get(/.*\/jquery.js/, onNullableRequest)
		.get(/.*/, onGeneralRequest)
		.post('/oauth/token', onOauthTokenRequest)