// Reto: crear un servidor Express minimo con una ruta GET /.
// Entrada: una peticion GET a http://localhost:3000/
// Salida esperada: un JSON { mensaje: "Hola desde Express" } con status 200.
//
// Como probarlo:
// 1. npm install (una sola vez, instala express)
// 2. node 06-retos-codigo/hello-server.js
// 3. En otra terminal: curl http://localhost:3000/
const express = require("express");
// express() crea la aplicacion. Es el objeto central sobre el que
// registramos rutas y middleware.
const app = express();
// Leemos el puerto de una variable de entorno y damos un valor por defecto.
// Nunca hardcodeamos el puerto: en produccion lo define el entorno (process.env.PORT).
const PORT = process.env.PORT || 3000;
// Definimos una ruta GET para la raiz "/".
// El callback recibe (req, res): req es la peticion, res es la respuesta.
app.get("/", (req, res) => {
// res.json envia una respuesta JSON y pone el header Content-Type correcto.
// Por defecto el status es 200 (OK).
res.json({ mensaje: "Hola desde Express" });
});
// app.listen levanta el servidor y se queda escuchando peticiones.
// El callback corre una vez cuando el servidor ya esta listo.
app.listen(PORT, () => {
console.log(`Servidor escuchando en http://localhost:${PORT}`);
});
// Exportamos app para poder testearlo sin levantar el servidor real.
module.exports = app;