Files
beispiel-app/server.js
T

26 lines
1.3 KiB
JavaScript

// Beispielanwendung fuer die Hilfebilder. Sie haelt weiterhin keine Daten und hat keine
// Abhaengigkeiten — der Build soll in Sekunden und ohne Netz durchlaufen. Sie LIEST aber,
// was ihre .env.example deklariert, damit die Deklaration keine Behauptung ist: VCH traegt
// DATABASE_URL beim Deploy selbst ein, sobald eine verwaltete Datenbank laeuft, und die
// Startseite zeigt, ob das angekommen ist.
const http = require('http');
const port = process.env.PORT || 3000;
const titel = process.env.APP_TITLE || 'Beispiel-App';
const logStufe = process.env.LOG_LEVEL || 'info';
const dbGesetzt = Boolean(process.env.DATABASE_URL);
http
.createServer((req, res) => {
if (req.url === '/health') {
res.writeHead(200, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ status: 'ok', database: dbGesetzt ? 'verbunden' : 'nicht gesetzt' }));
return;
}
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
res.end('<!doctype html><meta charset="utf-8"><title>' + titel + '</title>' +
'<h1>' + titel + '</h1>' +
'<p>Diese Seite dient den Bildern der VCH-Hilfe.</p>' +
'<p>DATABASE_URL: ' + (dbGesetzt ? 'gesetzt' : 'nicht gesetzt') + '</p>');
})
.listen(port, () => console.log('[' + logStufe + '] listening on ' + port));