flex-http-client
v1.0.3
Published
A flexible HTTP client adapter with TypeScript support
Maintainers
Readme
🌟 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-clientSe 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,tracetambé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.
