New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

flex-http-client

Package Overview
Dependencies
Maintainers
0
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

flex-http-client

A flexible HTTP client adapter with TypeScript support

latest
npmnpm
Version
1.0.3
Version published
Maintainers
0
Created
Source

🌟 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.

Keywords

http-client

FAQs

Package last updated on 22 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts