Skip to content
Snippets Groups Projects
Select Git revision
  • b4de4c7fed855dce0c01fddfcfb69cdc1f6a1d87
  • main default
  • dependabot/docker/node-24.4.1-slim
  • dependabot/github_actions/bbeesley/gha-auto-dependabot-rebase-1.5.166
  • v0.0.17
  • v0.0.16
  • v0.0.15
  • v0.0.14
  • v0.0.13
  • v0.0.12
  • v0.0.11
  • v0.0.10
  • v0.0.9
  • v0.0.8
  • v0.0.7
  • v0.0.7-rc1
  • v0.0.6
  • v0.0.5
  • v0.0.4
  • v0.0.3
  • v0.0.2
  • v0.0.1
22 results

index.js

Blame
  • index.js 1.16 KiB
    var express = require("express");
    var app = express();
    
    // Ingress
    app.enable('trust proxy');
    
    // --- <Logger
    
    const winston = require('winston');
    const consoleTransport = new winston.transports.Console();
    const myWinstonOptions = {
        transports: [consoleTransport]
    };
    const logger = new winston.createLogger(myWinstonOptions);
    
    function logRequest(req, res, next) {
        logger.info('ip: ' + req.ip + ', hostname: ' + req.hostname + ', url: ' + req.url);
        next();
    }
    app.use(logRequest);
    
    function logError(err, req, res, next) {
        logger.error('ip: ' + req.ip + ', hostname: ' + req.hostname + ', url: ' + req.url + ' <-> ' + err);
        next();
    }
    app.use(logError);
    
    // --- Logger>
    
    app.get("/", (req, res, next) => {
      res.status(200).send('<a href="/api">/api</a>');
      next();
    });
    
    app.get("/api", (req, res, next) => {
      res.status(200).send('<a href="/api/users">/api/users</a>');
      next();
    });
    
    app.get("/api/users", (req, res, next) => {
      res.json([
        {"id": "1", "title": "One"},
        {"id": "2", "title": "Two"},
        {"id": "3", "title": "Three"},
        {"id": "4", "title": "Four"}
      ]);
      next();
    });
    
    app.listen(3000, () => {
     console.log("Server running on port 3000");
    });