Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refactor] Remover dependência da biblioteca "data_connection_checker" no ApiProvider #396

Merged
merged 9 commits into from
Jan 16, 2025

Conversation

shonorio
Copy link
Collaborator

Este PR introduz alterações significativas no cliente de API (api_client.dart), incluindo a adição de um novo enum ApiHttpRequestMethod para representar os métodos HTTP, refatoração do código para melhorar a organização e a legibilidade, e ajustes nos testes relacionados. As mudanças visam simplificar a lógica de requisições HTTP, melhorar a manutenção do código e garantir a consistência dos testes.

Principais Alterações:

  1. Adição do Enum ApiHttpRequestMethod:

    • Um novo enum foi criado para representar os métodos HTTP (GET, POST, DELETE, PUT), melhorando a clareza e a segurança do código ao evitar o uso de strings literais.
  2. Refatoração do Cliente de API:

    • Introdução de um método privado _execute para centralizar a lógica de execução de requisições HTTP, reduzindo a duplicação de código.
    • Uso de StreamedResponse para processar respostas de forma mais eficiente.
    • Adição de constantes para códigos de status HTTP comuns, melhorando a legibilidade e a manutenção do código.
    • Renomeação de _apiClient para _httpClient para maior clareza.
  3. Melhorias no Tratamento de Respostas:

    • Adição de um método _parseStreamedResponse para processar respostas de forma assíncrona e lidar com diferentes códigos de status HTTP.
    • Adição de um método _parseBody para tratar erros de decodificação de JSON de forma mais robusta.
  4. Refatoração dos Testes:

    • Atualização dos testes para refletir as mudanças na lógica de requisições HTTP.
    • Uso de StreamedResponse nos testes para simular respostas HTTP de forma mais realista.
    • Verificação dos métodos HTTP (GET, POST, DELETE) nos testes para garantir que o método correto está sendo usado.
  5. Extensão para Conversão de Enum em String:

    • Adição de uma extensão _ApiHttpRequestMethodStringify para converter o enum ApiHttpRequestMethod em strings HTTP, evitando o uso de strings literais.

Issues:

Fixes #394

@shonorio shonorio requested a review from a team as a code owner January 14, 2025 22:45
@shonorio shonorio self-assigned this Jan 14, 2025
@shonorio shonorio added dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos refactor Envolve melhorias no código, como substituir o componentes obsoletos labels Jan 14, 2025
@shonorio shonorio changed the title [wip] [refactor] Remover dependência da biblioteca "data_connection_checker" no ApiProvider Jan 14, 2025
Copy link

codeclimate bot commented Jan 16, 2025

Code Climate has analyzed commit 85ca44b and detected 1 issue on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 1

View more on Code Climate.

@shonorio shonorio merged commit e64accd into main Jan 16, 2025
8 checks passed
@shonorio shonorio deleted the shonorio/issue394 branch January 16, 2025 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos refactor Envolve melhorias no código, como substituir o componentes obsoletos
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[refactor] Remover dependência da biblioteca "data_connection_checker" no ApiProvider
2 participants