Executando verificação de segurança...
1

Requesty – Uma biblioteca de controle de requisições HTTP baseada no Axios ( Axios-like )

Requesty

Olá, pessoal!

Trago aqui um projeto que desenvolvi recentemente: uma biblioteca JavaScript para o controle de requisições HTTP, baseada no já consagrado Axios, mas com um enfoque mais único, trazendo novas abordagens.

A biblioteca está disponível no GitHub e no NPM. Quem desejar testar ou contribuir será muito bem-vindo!

A biblioteca é baseada em instâncias de classes, diferente do Axios, no qual você trabalha apenas com métodos.

Exemplo abaixo – Uso simples da biblioteca:

Configuração inicial: aqui você define como suas requisições irão funcionar e como os dados serão tratados, bem parecido com a parte de configuração do Axios.

const configTemplate = {
    baseUrl: "https://dummyjson.com",
    appName: "myApp",       // Application name for logs/debugging
    dataConversion: "json", // "json" or "text"
    headers: {},            // Global headers
    timeout: 5000,          // Timeout in milliseconds
    retry: 0,               // Number of automatic retry attempts
    debug: false            // Enable debug logging
};

Todos os métodos de uma requisição HTTP estão disponíveis na biblioteca: get(), post(), put(), delete(), entre outros.

O Requesty suporta estruturas como async/await, callbacks e Promises.

// Using callback
api.get("/products", {}, (res) => {
    console.log("Callback result:", res);
});

// Using Promise
api.get("/products")
   .then(res => console.log("Then result:", res))
   .catch(err => console.error(err));

// Using async/await
const res = await api.get("/products");
console.log("Await result:", res);

Também oferece suporte direto a parâmetros de consulta (query params).

api.get("categories", {
    query: { search: "mycategoryName" }
}, (data) => {
    console.log("cateogory " + JSON.stringify(data));
});
;

Exemplo básico :

const api = new Requesty({ baseUrl: "https://dummyjson.com", debug: true });

api.get("/products")
    .then(res => {
        console.log("Products:", res.data);
        return api.post("/products/add", { body: { name: "Snack Product" } });
    })
    .then(res => console.log("Created:", res.data))
    .catch(err => console.error("Error:", err));

// Using async/await with optional callback
const result = await api.get("/products", {}, (res) => {
    console.log("Callback result:", res);
});
console.log(result);

Tudo isso e muito mais você pode encontrar na documentação do README, tanto no GitHub quanto no NPM. Obrigado! Se gostar, passe no GitHub e adicione uma estrelinha. E, claro, sua contribuição será muito bem-vinda!

Carregando publicação patrocinada...