Logo Hapi
Antes de empezar a tirar lineas de código creo que es mejor saber que es Hapi, este maravilloso Frameworks es uno de los más utilizados en el ecosistema de NodeJS, fue creado dentro de Walmart por Eran Hammer, quien también creó la especificación OAuth, Hammer siendo líder del equipo de Mobile en Walmart se topó con un problema, el alto tráfico del sitio web los días cercanos al Black Friday.
Es por eso que junto a su equipo deciden crear Hapi, como middleware de express, ya que este no les ofrecía una solución a los problemas que se estaban enfrentando. Luego de ir probando diferentes combinaciones de soluciones deciden crear todo el framework desde cero sobre la base de “ Mejor configuración que código”.
Hapi está diseñado pensando en aplicativos modularizados de grandes dimensiones. Contempla la separación de la configuración de la lógica del negocio y utiliza su propia forma de realizar las cosas. Este framework es utilizado para crear, Aplicativos Web, APIs REST, APIs en GRaphQL, Proxies HTTP, e integrador de múltiples Backends, entre otras cosas más.
El servidor es la unidad básica y principal de las aplicaciones web, es por eso que te voy a mostrar cómo montar tu propio servidor web en cuestiones de minutos con este frameworks.
Crearemos y trabajaremos sobre un archivo index.js
en el cual ejecutaremos todo el código de esta aplicación. Para crear un servidor con Hapi, sólo basta con requerir el módulo y luego ejecutar la función server:
Luego es necesario definir los puntos de interacción mediante una ruta:
La propiedad “method” indica si el request esperado es de tipo GET o POST, y el path es la url relativa asociada a esta ruta definida. El handler es la función que manejará la respuesta que se enviará al navegador.
El objeto “h”, es el segundo argumento que recibe la función handler de una ruta definida. Este contiene una colección de utilidades y propiedad relativas a la información de respuesta.
Métodos mas básicos del objeto “h”:
- h.response(): “Lo que hace es crear un objeto de respuesta”
- h.redirect(): “En este caso direccionamiento de una petición”.
El objeto Response (creado con el método h.response), permite definir las propiedades de la respuesta. A través de este objeto se pueden especificar las cabeceras, tipo de documento y código de respuesta devuelto al cliente, mediante los métodos: .header(), .type() y .code()
También lo que podemos realizar es un try
and catch
para poder controlar los errores, y lanzar un console.log
mostrando un mensaje de que el servidor esta funcionando.
Una vez que terminemos con todo esto, ejecutaremos en una terminal comando node index.js
el mismo nos mostrara un mensaje por consola diciendo “Servidor lanzado en localhost:3000”, si navegamos a esa ruta deberíamos poder ver el mensaje “Hola mundo!”, y si entramos a la ruta localhost:3000/redirect, nos llevara a google.com.
Si el articulo te gusto o te pareció interesante por favor ayúdame con 👏 🤓 Puedes seguirme en Twitter o encontrarme en GitHub visitando mi sitio web.
Francisco Imanol Suarez on about.me
I am a web developer, student, and photographer in Trelew, Argentina. Read my articles.about.me