From 00928792eac99e812a1678517a1c9d9d94696953 Mon Sep 17 00:00:00 2001 From: joseaco208 <139635515+joseaco208@users.noreply.github.com> Date: Sat, 17 Aug 2024 16:32:02 -0300 Subject: [PATCH] Update app.js --- app.js | 118 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 58 insertions(+), 60 deletions(-) diff --git a/app.js b/app.js index 5ab128e4b..2172aa4b8 100644 --- a/app.js +++ b/app.js @@ -1,61 +1,59 @@ -const express = require("express"); +const express = require('express'); +const Color = require('color'); +const colorNamer = require('color-namer'); + +// Inicializar la aplicación const app = express(); -const port = process.env.PORT || 3001; - -app.get("/", (req, res) => res.type('html').send(html)); - -const server = app.listen(port, () => console.log(`Example app listening on port ${port}!`)); - -server.keepAliveTimeout = 120 * 1000; -server.headersTimeout = 120 * 1000; - -const html = ` - - - - Hello from Render! - - - - - -
- Hello from Render! -
- - -` + +// Definir el puerto en el que el servidor escuchará +const port = process.env.PORT || 3000; + +// Mapa de traducción de nombres de colores al español +const colorTranslations = { + "red": "Rojo", + "green": "Verde", + "blue": "Azul", + "black": "Negro", + "white": "Blanco", + "yellow": "Amarillo", + "orange": "Naranja", + "pink": "Rosa", + "purple": "Púrpura", + "brown": "Marrón", + "gray": "Gris", + "cyan": "Cian", + "magenta": "Magenta", + // Agrega más traducciones según sea necesario +}; + +// Crear el endpoint para la raíz +app.get('/', (req, res) => { + res.send('Bienvenido a la API de conversión de colores. Usa /color?hex=tu_codigo_hexadecimal para obtener el nombre del color.'); +}); + +// Crear el endpoint para manejar la conversión de color +app.get('/color', (req, res) => { + let hex = req.query.hex; + + try { + // Convertir cualquier longitud de código hexadecimal a un formato de 6 dígitos + const color = Color(`#${hex}`).hex().slice(1); // Eliminar el prefijo '#' + + // Convertir el código hexadecimal al nombre del color + const namedColors = colorNamer(color); + const colorNameInEnglish = namedColors.basic[0].name; + + // Traducir el nombre del color al español + const colorNameInSpanish = colorTranslations[colorNameInEnglish.toLowerCase()] || colorNameInEnglish; + + // Devolver el nombre del color como respuesta + res.send(`${colorNameInSpanish}`); + } catch (error) { + res.status(400).send('Código hexadecimal inválido'); + } +}); + +// Iniciar el servidor +app.listen(port, () => { + console.log(`Servidor corriendo en http://localhost:${port}`); +});