1.0.3 • Published 9 months ago

flex-http-client v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

🌟 Flex HTTP Client

O flex-http-client é uma biblioteca TypeScript que abstrai a implementação de clientes HTTP, permitindo o uso flexível de axios ou fetch. Com tipagem robusta e uma interface simples, essa biblioteca facilita a realização de requisições HTTP em suas aplicações.

🚀 Instalação

Para instalar a biblioteca, execute o seguinte comando:

npm install flex-http-client

Se for utilizar o adaptador axios, certifique-se de instalar também o axios:

npm install axios

📦 Dependências

A biblioteca depende de axios caso você opte por usar o adaptador baseado nele, além de suportar a API nativa fetch.

🛠️ Como Usar

Aqui está um exemplo básico de como utilizar a biblioteca flex-http-client:

Exemplo com Axios

import { FlexHttpClient } from 'flex-http-client';

// Configurando o cliente com o adaptador axios
const axiosClient = new FlexHttpClient('axios', {
  baseURL: 'https://api.example.com',
  timeout: 5000,
});

// Realizando uma requisição GET
axiosClient.on().get('/data')
  .then(response => console.log(response))
  .catch(error => console.error(error));

Exemplo com Fetch

import { FlexHttpClient } from 'flex-http-client';

// Configurando o cliente com o adaptador fetch
const fetchClient = new FlexHttpClient('fetch', {
  baseURL: 'https://api.example.com',
});

// Realizando uma requisição GET
fetchClient.on().get('/data')
  .then(response => console.log(response))
  .catch(error => console.error(error));

Métodos Disponíveis

A biblioteca oferece métodos para as principais operações HTTP:

  • get<T>(url: string, config?: object): Promise<T> - Realiza uma requisição GET.
  • post<T>(url: string, data: any, config?: object): Promise<T> - Realiza uma requisição POST.
  • put<T>(url: string, data: any, config?: object): Promise<T> - Realiza uma requisição PUT.
  • delete<T>(url: string, config?: object): Promise<T> - Realiza uma requisição DELETE.
  • patch<T>(url: string, data: any, config?: object): Promise<T> - Realiza uma requisição PATCH.
  • Métodos adicionais como options, head, connect, trace também estão disponíveis para operações mais avançadas.

Configurações de Adaptador

Você pode configurar o cliente HTTP para usar tanto o axios quanto o fetch de acordo com sua preferência ou necessidade.

Exemplo de Configuração com Axios

const axiosClient = new FlexHttpClient('axios', {
  baseURL: 'https://api.example.com',
  timeout: 5000,
  headers: { 'Authorization': 'Bearer token' },
});

Exemplo de Configuração com Fetch

const fetchClient = new FlexHttpClient('fetch', {
  baseURL: 'https://api.example.com',
  headers: { 'Authorization': 'Bearer token' },
});

Definindo BaseURL

Ambos os adaptadores permitem que você defina uma baseURL, o que facilita a reutilização do cliente para diversas requisições com o mesmo domínio base.

🔍 Tipagem em TypeScript

A biblioteca é totalmente escrita em TypeScript, fornecendo autocompletar, verificação de tipos e suporte a interfaces para garantir a qualidade do código. Cada método aceita e retorna dados devidamente tipados, o que melhora a experiência de desenvolvimento.

Exemplo de Tipagem

interface MyData {
  id: number;
  name: string;
}

axiosClient.on().get<MyData>('/data').then((data) => {
  console.log(data.id, data.name);
});

📜 Licença

Este projeto está licenciado sob a MIT License.


Para mais informações ou se você tiver dúvidas, por favor, abra uma issue no repositório oficial.

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago