liup a01a5aa773 | 3 週之前 | |
---|---|---|
.. | ||
lib | 3 週之前 | |
LICENSE | 3 週之前 | |
README.md | 3 週之前 | |
package.json | 3 週之前 |
The ultra-lightweight Node.js HTTP client
Full documentation | GitHub | NPM
const p = require('phin')
p('https://ethanent.me', (err, res) => {
if (!err) console.log(res.body)
})
npm install 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.
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)
phin
has util.promisify
support. The promisified library can also be accessed with require('phin').promisified
!
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 |