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!