06c1a5835d | ||
---|---|---|
.. | ||
lib | ||
LICENSE | ||
README.md | ||
package.json |
README.md
The ultra-lightweight Node.js HTTP client
Full documentation | GitHub | NPM
Simple Usage
const p = require('phin')
p('https://ethanent.me', (err, res) => {
if (!err) console.log(res.body)
})
Install
npm install phin
Why phin?
phin is trusted by some really important projects. The hundreds of contributors at Less, for example, depend on phin as part of their development process.
Also, phin is super lightweight. Like 99.8% smaller than request lightweight. To compare to other libraries, see phin vs. the Competition.
Quick Demos
Simple POST:
p({
url: 'https://ethanent.me',
method: 'POST',
data: {
hey: 'hi'
}
})
Promisified:
const p = require('phin').promisified
;(async () => {
const res = await p({
url: 'https://ethanent.me'
})
console.log(res.body)
})()
Simple parsing of JSON:
// (In async function in this case.)
const res = await p({
url: 'https://ethanent.me/name',
parse: 'json'
})
console.log(res.body.first)
Documentation
phin
has util.promisify
support. The promisified library can also be accessed with require('phin').promisified
!
phin vs. the Competition
phin is super lightweight, and it's getting lighter all the time.
It contains all of the common HTTP client features included in competing libraries!
Package | Size (KB) | Dependencies (Tree Count) |
Size Comparison (vs. phin) |
---|---|---|---|
request | 4,446 | 53 | 444.6x |
superagent | 1,235 | 24 | 123.5x |
got | 664 | 44 | 66.4x |
snekfetch | 107 | 0 | 10.7x |
phin | 10 | 0 | 1x |