|
|
Contém os *middlewares* da API
|
|
|
|
|
|
*Middlewares* são funções que são colocadas no "meio" de uma requisição. Quando uma requisição é recebida, ela pode ser passada por diversas *middlewares* até que elas cheguem a um controlador, que finaliza a requisição. As middlewares podem alterar o corpo da requisição e da resposta. Normalmente *middlewares* adicionam alguma funcionalidade útil a requisição (como uma conexão ao banco de dados, ou o módulo *adapter* que está sendo utilizado) ou fazem algum *parsing* de entrada (Recebe os parametros como string e transforma em um JSON.)
|
|
|
|
|
|
## Arquivos
|
|
|
|
|
|
* **adapter.ts**: *Middleware* da *engine*. Adiciona o módulo *adapter* no objeto `req`. Assim o controlador pode fazer uso do *adapter*.
|
|
|
* **engine.ts**: *Middleware* da *engine*. Adiciona o módulo *engine* no objeto `req`. Assim o controlador pode fazer uso da *engine*.
|
|
|
* **error.ts**: *Middleware* de erros. O Blendb utiliza o módulo **osprey** para tratar diversas seções da API. Quando esse módulo encontra algum erro na requisição ele aparece nessa *middleware*. O seu objetivo é garantir que API responda apenas em formato JSON, mesmo em caso de erro.
|
|
|
|
|
|
## Localização
|
|
|
|
|
|
[Raiz](desenvolvimento/repositório)
|
|
|
* [artwork] (desenvolvimento/repositório/artwork)
|
|
|
* [config](desenvolvimento/repositório/config)
|
|
|
* [coverage](desenvolvimento/repositório/coverage)
|
|
|
* [database](desenvolvimento/repositório/database)
|
|
|
* [doc](desenvolvimento/repositório/doc)
|
|
|
* [node_modules](desenvolvimento/repositório/node_modules)
|
|
|
* [scripts](desenvolvimento/repositório/scripts)
|
|
|
* [service](desenvolvimento/repositório/service)
|
|
|
* [specs](desenvolvimento/repositório/specs)
|
|
|
* [src](desenvolvimento/repositório/src)
|
|
|
* [adapter](desenvolvimento/repositório/src/adapter)
|
|
|
* [api](desenvolvimento/repositório/src/api)
|
|
|
* [controllers](desenvolvimento/repositório/src/api/controllers)
|
|
|
* **middlewares**
|
|
|
* [common](desenvolvimento/repositório/src/common)
|
|
|
* [core](desenvolvimento/repositório/src/core)
|
|
|
* [util](desenvolvimento/repositório/src/common)
|
|
|
* [test](desenvolvimento/repositório/test) |