Commit 2a843fc4 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Permite fijar protocolo de consulta de Prerender

Cuando la aplicación está en un entorno que sólo permite acceso HTTPS,
la consulta desde Prerender por defecto (mediante HTTP) se cicla y acaba
tumbando el servicio Prerender. Se permite especificar el protocolo a
usar (por defecto en local `HTTP` y en despliegue `HTTPS`) para
evitarlo.
parent fe3e17a6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ Esto es útil para clientes como los bots de redes sociales, que necesitan tener

Para activarlo, basta con lanzar previamente el servicio [Prerender](https://gitlab.com/redmic-project/client/prerender) e indicar dónde está accesible mediante la variable `PRERENDER_URL`. En caso de que el cliente no lo requiera o que no se encuentre el servicio activo, simplemente se responderá con contenido dinámico.

Por defecto, `Prerender` consultará al servicio mediante protocolo HTTP. Si no se permite el acceso y se redirige mediante HTTPS, es necesario fijar el protocolo mediante la variable `PRERENDER_PROTOCOL=https`.

## Testeo

Se ha preparado una batería de pruebas, tanto unitarias como funcionales, que permiten evaluar el estado del proyecto a medida que se aplican cambios en la base de código.
+3 −1
Original line number Diff line number Diff line
const prerenderNode = require('prerender-node'),
	prerenderUrl = process.env.PRERENDER_URL;
	prerenderUrl = process.env.PRERENDER_URL,
	prerenderProtocol = process.env.PRERENDER_PROTOCOL || 'http';

let logger;

prerenderNode.set('prerenderServiceUrl', prerenderUrl)
	.set('protocol', prerenderProtocol)
	.set('afterRender', afterRender);

function afterRender(err, req, _prerender_res) {
+1 −0
Original line number Diff line number Diff line
@@ -6,6 +6,7 @@ OAUTH_CLIENT_SECRET=secret
API_URL=https://api.domain
SITEMAP_URL=https://s3.eu-west-1.amazonaws.com/mediastorage.redmic/public/sitemap.xml
PRERENDER_URL=http://prerender:3000
PRERENDER_PROTOCOL=https

PUBLIC_HOSTNAME=change.me
TRAEFIK_ENTRYPOINT=http
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ services:
      API_URL:
      SITEMAP_URL:
      PRERENDER_URL:
      PRERENDER_PROTOCOL:
    networks:
      traefik-net:
      metric-net: