Analisando algumas requests com erro no DataDog, identificamos que, no caso das requisições get realizadas no endpoint /boletos/:id alguns erros estão ocorrendo devido ao envio de parâmetros query desconhecidos, ou seja, parâmetros que não estão no schema de validação indexSchema do Joi.
A ideia é permitir que esses parâmetros desconhecidos sejam passados na request adicionando a opção allowUnknown na função Joi.validate, dessa forma eles serão ignorados pois não são utilizados e a request seguirá o seu curso normal, pois ela não irá barrar na validação do Joi.
Melhorias
Achamos conveniente adicionar um log nesse endpoint para facilitar o monitoramento de casos como este diretamente no superbowleto, pois essa situação só foi localizada analisando os logs do service pagarme-api.
Também tivemos a necessidade de adicionar um nock em um test para interceptar a request na url https://homolog.meiosdepagamentobradesco.com.br e simular o retorno de sucess, pois essa requisição não estava retornando e isso estava fazendo quebrar o test.
Descrição do problema
Analisando algumas requests com erro no DataDog, identificamos que, no caso das requisições get realizadas no endpoint
/boletos/:id
alguns erros estão ocorrendo devido ao envio de parâmetros query desconhecidos, ou seja, parâmetros que não estão no schema de validaçãoindexSchema
do Joi.Logs do caso em questão
Correção
A ideia é permitir que esses parâmetros desconhecidos sejam passados na request adicionando a opção
allowUnknown
na função Joi.validate, dessa forma eles serão ignorados pois não são utilizados e a request seguirá o seu curso normal, pois ela não irá barrar na validação do Joi.Melhorias
Achamos conveniente adicionar um log nesse endpoint para facilitar o monitoramento de casos como este diretamente no superbowleto, pois essa situação só foi localizada analisando os logs do service pagarme-api.
Também tivemos a necessidade de adicionar um nock em um test para interceptar a request na url https://homolog.meiosdepagamentobradesco.com.br e simular o retorno de sucess, pois essa requisição não estava retornando e isso estava fazendo quebrar o test.