1.0.3 • Published 10 months ago

flex-http-client v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
10 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

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago