mirror of
https://github.com/Wessel/wumpfetch.git
synced 2026-06-05 23:25:42 +02:00
65b2c4cc84e08248201e11042f4ed79aacc6d343
Wumpfetch - A fast and easy to use HTTP client
Wumpfetch is a fast, lightweight and easy to use HTTP client for Node.JS.
Installing
Wumpfetch can be installed with any package manager that supports the NPM registry, but the ones listed below are the most used ones.
$ yarn add wumpfetch # Install w/ Yarn
$ npm i wumpfetch # Install w/ NPM
Example usage
Code
const w = require('wumpfetch');
;(async() => {
const r = await w('https://aws.random.cat/meow').send();
console.log(r.json());
});
Result
$ node test.js
{ file: 'https://purr.objects-us-east-1.dream.io/i/100_-_rURSo7L.gif' }
Sending data in a JSON body to a server
Getting a response from a REST API
Code:
const w = require('wumpfetch');
// Using an URL and custom options
;(async() => {
let req = await w('https://aws.random.cat/meow', {
chaining: false,
headers: {
'User-Agent': 'Project/0.0.1'
}
});
// Only URL
req = await w('https://aws.random.cat/meow', { chaining: false });
// Only options
req = await w({
url: 'https://aws.random.cat/meow',
chaining: false,
headers: {
'User-Agent': 'Project/0.0.1'
}
});
console.log(req.json());
})();
Result:
$ node test.js
{ file: 'https://purr.objects-us-east-1.dream.io/i/100_-_rURSo7L.gif' }
Chaining methods
You can also chain methods by adding chaining: true to options
const w = require('wumpfetch');
;(async() => {
const r = await w('https://my-site.com/postboi', { method: 'POST' })
.timeout(1000) // Set a 1s timeout
.query('video', 'wumpboye') // Add a query
.header({ 'Authorization': 'Pablito' }) // Set a header
.body({ x: 'y', z: 1, beep: 'boop', chocolate: true }) // Send a JSON body
.send(); // Finish the chain by sending the rquest
console.log(r.json()); // Returns the response in a JSON format
})();
Projects using Wumpfetch
If you want your own project listed, either create a pull request or an issue with the following content:
- Project name
- a short description of your package
Also add the following if your project is a package/module/library:
- NPM link (🔩)
- Packagephobia link (⚖)
- GitHub repository link (📂)
- Optional: A website link (👾)
| Project Name | Short description | Links |
|---|---|---|
| boats.js | The official discord.boats API wrapper for NodeJS | 🔩 ⚖ 📂 👾 |
| qtradio.js | API wrapper for qtradio.moe made in JavaScript | 🔩 ⚖ 📂 👾 |
| cafebot.js | CafeBot.xyz API Wrapper made in JS | 🔩 ⚖ 📂 👾 |
License
Languages
JavaScript
96.9%
TypeScript
3.1%