Versión estable y lista del servidor proxy en Node.js

Para este tipo de pruebas Node.js es más flexible, rápido de levantar y más visual que un servidor embebido en Java (como NanoHTTPD). Además, puedes extenderlo fácil con métricas o gráficas si lo necesitas después.

Entonces, dejemos todo claro para que puedas usar Node como tu analizador de peticiones Spark


const express = require('express');

const app = express();

app.use(express.json());


let contador = 0;

let contadorMinuto = 0;

const peticiones = [];


setInterval(() => {

  console.log(`📊 ${contadorMinuto} peticiones en el último minuto`);

  contadorMinuto = 0;

}, 60 * 1000);


app.all('*', (req, res) => {

  contador++;

  contadorMinuto++;


  const timestamp = Date.now();

  const diff = peticiones.length > 0 ? timestamp - peticiones[peticiones.length - 1] : 0;

  peticiones.push(timestamp);


  console.log(`==== NUEVA PETICIÓN ====

#${contador}

Tiempo desde la anterior: ${diff} ms

Método: ${req.method}

Ruta: ${req.url}

Headers: ${JSON.stringify(req.headers, null, 2)}

Cuerpo: ${JSON.stringify(req.body)}

========================`);


  res.status(200).json({ ok: true, index: contador });

});


const PORT = 3000;

app.listen(PORT, () => {

  console.log(`🚀 Proxy escuchando en http://localhost:${PORT}`);

});


Comentarios

Entradas populares de este blog

Pequeño server local

CobolParser Para Spark

iteratorSeguro