eagle_http 2.2.1
eagle_http: ^2.2.1 copied to clipboard
A simple http client for flutter
Eagle Http #
Um cliente HTTP simples e configurável para Flutter, construído sobre o pacote dio
.
Funcionalidades #
- Realiza requisições HTTP (GET, POST, PUT, DELETE, etc.).
- Configuração base (URL base, headers padrões).
- Tratamento de erros simplificado com
EagleError
. - Interceptors (Exemplo:
EagleApiInterceptor
incluído). - Respostas estruturadas com
EagleResponse
.
Instalação #
Adicione eagle_http
ao seu arquivo pubspec.yaml
:
dependencies:
eagle_http: ^2.2.1 # Use a versão mais recente
Então, execute flutter pub get
.
Como Usar #
Importe o pacote:
import 'package:eagle_http/eagle_http.dart';
Crie uma instância do EagleHttp
:
// Configure a URL base da sua API
final eagleClient = EagleHttp(
baseUrl: 'https://api.example.com',
headers: {'Authorization': 'Bearer SEU_TOKEN'}, // Headers padrões (opcional)
// customError: (DioException error) { // Tratamento de erro customizado (opcional)
// // Lógica para tratar erros específicos do Dio
// print('Erro customizado: ${error.message}');
// // Retorne ou lance um EagleError customizado se necessário
// return EagleError(type: EagleErrorType.common, error: 'Erro customizado');
// }
);
Faça uma requisição (exemplo GET):
Future<void> fetchData() async {
try {
final response = await eagleClient.request(
'/users', // Caminho do endpoint
method: EagleHttpMethod.get, // Método HTTP
// options: EagleRequest( // Opções adicionais (opcional)
// queryParameters: {'page': 1, 'limit': 10},
// // body: {'name': 'John Doe'}, // Para POST/PUT
// ),
);
if (response != null) {
print('Status Code: ${response.statusCode}');
print('Data: ${response.data}');
// Processar os dados da resposta
}
} on EagleError catch (e) {
print('Erro EagleHttp: ${e.type} - ${e.error}');
print('Detalhes: ${e.response?.data}');
// Tratar o erro específico do EagleHttp
} catch (e) {
print('Erro inesperado: $e');
// Tratar outros erros
}
}
Métodos HTTP #
Use o enum EagleHttpMethod
para especificar o método:
EagleHttpMethod.get
EagleHttpMethod.post
EagleHttpMethod.put
EagleHttpMethod.delete
EagleHttpMethod.patch
EagleHttpMethod.head
EagleHttpMethod.options
Tratamento de Erros #
O pacote lança EagleError
para erros relacionados à requisição HTTP. Você pode capturá-lo em um bloco try-catch
. Tipos de erro incluem:
EagleErrorType.connectionTimeout
EagleErrorType.response
(erro genérico de resposta)EagleErrorType.serverError
(status code >= 500)EagleErrorType.notFound
(status code 404)EagleErrorType.cancel
EagleErrorType.common
(erro genérico ou customizado)
Você pode fornecer uma função customError
no construtor para lidar com DioException
de forma personalizada.
Contribuição #
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório do projeto. (Lembre-se de adicionar o link do repositório no pubspec.yaml
!)