Introducci贸n

1

Qu茅 necesitas para este curso y qu茅 aprender谩s sobre Node.js con Hapi

2

Conceptos principales de hapi y creaci贸n de nuestro primer servidor

3

Breve historia y estado actual

Creando un sitio b谩sico con Hapi

4

El objeto h, response y sus herramientas

5

Uso de plugins - Contenido est谩tico

6

Plantillas con Handlebars

7

Renderizado de vistas - Layout y template del home

8

Recibiendo par谩metros en una ruta POST - Creaci贸n del registro

9

Definir una mejor estructura con buenas pr谩cticas en Hapi

10

Validando la informaci贸n - Implementando Joi

11

Introducci贸n a Firebase

12

Creando un modelo y guardando en firebase

13

Implementando el login y validaci贸n del usuario

14

Autenticaci贸n de usuarios - Cookies y estado

15

Manejando errores

16

Visualizaci贸n de errores

17

Controlar el error 404 en inert y el error de validaci贸n

18

Repaso - Creaci贸n del modelo y controlador para preguntas

19

Repaso - Creaci贸n de las rutas para crear preguntas

20

Listar las 煤ltimas preguntas en el home

Aplicacion de conceptos avanzados

21

Enrutamiento avanzado - visualizando una pregunta

22

Enrutamiento avanzado - respondiendo una pregunta

23

Generando la l贸gica de la plantilla seg煤n si es creador o contribuidor

24

M茅todos de servidor - respuesta correcta

25

Usando m茅todos de servidor

26

Manejo del cach茅 - Agregando el home al cach茅

27

Procesamiento de archivos - Aceptando im谩genes

28

Logging con Good - Monitoreando el servidor

29

Creaci贸n de plugins - Teor铆a

30

Creaci贸n de plugins - Implementando un API REST

31

Estrateg铆as de autenticaci贸n - Asegurando el API REST

32

Seguridad b谩sica - Asegurando el servidor contra CSRF

33

Seguridad b谩sica - Asegurando el servidor contra XSS

Herramientas de desarrollo

34

Depuraci贸n del proyecto

35

Ecosistema de Hapi

Disfruta de nuestro contenido y eventos por un a帽o a un precio especial

Antes: $179

Currency
$149/a帽o
隆Suscr铆bete!

馃敟 Te quedan 馃敟

1D
7H
6M
9S

El objeto h, response y sus herramientas

4/35
Recursos

El objeto h, es el segundo argumento que recibe la funci贸n handler de una ruta definida.

Contiene una colecci贸n de utilidades y propiedades relativas a la informaci贸n de respuesta que se va a enviar al cliente, al navegador.

M茅todos b谩sicos del objeto h:

  • h.response(): Crea un objeto de respuesta.
  • h.redirect(): Redirecciona 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()

C贸digo: Ejemplo de respuesta simple y redirect.

Aportes 8

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Hasta el momento ExpressJS me gusta mucho como organiza las cosas, pero es importante tener conocimiento de otros Frameworks.

Dejo mi apunte de esta clase en el c贸digo

'use strict'

// Requerir el modulo de hapi (Framework)
const Hapi = require('@hapi/hapi')

// Configurar el servidor de nuestra aplicaci贸n. En un contenedor (Docker) si marca error colocar 0.0.0.0 (todos)
const server = Hapi.server({
  port: process.env.PORT || 3000,
  host: 'localhost'
})

// Definicion de funci贸n para inicializar el proyecto. Intenamnete hay tareas asincronas
async function init() {
  // Definici贸n de rutas (indicar el m茅todo HTTP, URL y controlador de ruta)
  server.route({
    method: 'GET',
    path: '/',
    handler: (req, h) => {
      // El objeto h es un conjunto de utilidades para la respuesta.
      return h.response('Hola desde HapiJS').code(200)
    }
  })

  server.route({
    method: 'GET',
    path: '/redirect',
    handler: (req, h) => {
      return h.redirect('https://platzi.com')
    }
  })

  // Arrancar el servidor de HapiJS, se considera una tarea asincrona.
  try {
    await server.start()
    console.log(`Servidor lanzado en: ${server.info.uri}`)
  } catch (error) {
    console.error(error)
    // Salir de nodeJS con un c贸digo de error (1), 0 es un c贸digo de exito
    process.exit(1)
  }
}

// Inicializar el proyecto
init();

soy solo yo o tiene problemas el video

He probado varios framework y Hapi me ha parecido el mejor hasta el momento 馃槂

Ojal谩 todos explicaran desde la base te贸rica de por qu茅 hacen lo que hacen y de d贸nde salen las cosas. Excelente clase.

async function init () {
  server.route({
    method: 'GET',
    path: '/',
    handler: (req, h) => {
      return h.response('Hola mundo mundial .....!!!').code(200);
    }
  });

  server.route({
    method: 'GET',
    path: '/redirect',
    handler: (req, h) => {
      return h.redirect('http://platzi.com');
    }
  });