+
Skip to content

czycha/phin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phin logo


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.

phin became 33% lighter with release 2.7.0!

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

See the phin documentation.

phin has util.promisify support. The promisified library can also be accessed with require('phin').promisified!

phin vs. the Competition

Request is over 6MB in size. phin is just 25KB in size.

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

About

🚀⚡ The ultra-lightweight Node.js HTTP client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载