2.0.2 • Published 6 years ago

@zerointermittency/express v2.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Build Status Maintainability Test Coverage npm version Downloads dependency status devDependency status

Bienvenido

Este modulo tiene como objetivo tener todas las buenas practicas y módulos que sean necesarios para levantar un proyecto basado en express que sea robusto y seguro.

Instalación

yarn add @zerointermittency/express
# npm i --save @zerointermittency/express

Api

El modulo utiliza express, para poder utilizar sus funcionalidades e incluir funcionalidades extras para todas las rutas que se generen.

Importante: para poder visualizar la información de desarrollo DEBUG=zi-express:*

Iniciar

Se instancia un objeto como se hace a continuación:

const ZIExpress = require('@zerointermittency/express');
let express = new ZIExpress(args);

Argumentos:

  • args (Object):
    • port (Number): puerto donde se alojan las rutas, por defecto: 8080
    • ip (String): ip donde se alojan las rutas, por defecto: '0.0.0.0'
    • options (Object):
      • bodyParser (Object)
        • json (Object): opciones para el modulo body-parser, el cual permite entregar información en formato json, por defecto: {type: 'application/json', limit: '10mb'}
      • logger (Object/Boolean): si es false no despliega información sobre las peticiones que se realizan a cada ruta, por defecto: {level: 'warn', format: 'zi'}
      • ipHeaders (String): headers http desde donde se puede capturar la ip de la petición, por defecto: ['x-web-for', 'x-forwarded-for'] (el orden del arreglo tiene prioridad)
      • compression (Object): opciones para el middleware compression
      • helmet (Object): opciones para el helmet

Retorna:

(ZIExpress): Retorna la instancia de la clase ZIExpress.

Atributo core

Este atributo contiene la instancia de express y permite utilizar todas las funcionalidades que contiene en su documentación

Método Router

Este método retorna un router de express para poder asociarle rutas y agregarlo posteriormente a nuestro servidor.

// a partir de la instancia,
let router = express.Router();

// o a partir de la clase
let router = ZIExpress.Router();

router.route('test').get((req, res) => {...});

Los argumentos y el retorno de esta funcionalidad pueden verla en Router de express

Método use

Este método permite asociarle a el servidor de rutas un middleware o un router.

express.use(router);
// express.use(middleware);

Para mayor información app.use de express.

Método listen

Este método es el que ejecuta el servidor en el puerto e ip que se haya especificado.

Importante: para poder visualizar la información de desarrollo DEBUG=npm-express:listen*

express.listen(callback);

Argumentos:

  • callback (Function): función a ejecutar cuando se este ejecutando el servidor

Pruebas funcionales (Unit Testing)

Se llevaron a cabo las pruebas funcionales para validar el funcionamiento de sus métodos y opciones por defecto:

$ yarn test

Changelog

Todos los cambios importantes son escritos aquí.