[Carol] Adicionar suporte ao "Accept-Encoding" "gzip" e retornar conteúdo compactado

Description

Stakeholder


Henrique / Robson

Problema


Objetivo


  • Adicionar feature flag e adicionar suporte ao “Accept-Encoding” “gzip” para retornar dados compactados ao cliente da tenant (conforme RFC1952).

Roles


  • Tenant Admin, Business USer, App Admin (por fim, todas as roles logadas).

Critério de Aceite


  • Tenants com acesso ao recurso de “Accept-Encoding” devem estar com a feature flag habilitada.

  • Apenas os endpoints abaixo deverão ter suporte a esse recurso (todas as versões do endpoint):

/api/vX/queries/named/{query_name}/api/vX/queries/filter
  • Se o cliente realizar uma request com “Accept-Encoding” atribuído com “gzip”, BE deve compactar o resultado e efetuar o retorno com o header “Content-Encoding" definido com “gzip”.

  • Se “Accept-Encoding” não estiver informado, o resultado deverá ser enviado em formato padrão (json).

  • Se a tenant não estiver com a feature flag do “Accept-Encoding” habilitado, o resultado deverá ser enviado em formato padrão (json).

Observações adicionais sobre comunicado


  • Todos os times que consomem a Carol deverão ser notificados, em especial Clockin.

  • Rollout será gradual, com alinhamento ao time do clockin.

  • Ação deverá resultar em economia, principalmente para clockin.