centra
The core lightweight HTTP client for Node
Last updated 2 years ago by ethan_ .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install centra 
SYNC missed versions from official npm registry.

The core lightweight HTTP client for Node

GitHub | NPM

Install

npm i centra

Why centra?

centra is the best request library for developers; it provides a number of extremely useful features while still being one of the most lightweight Node.js HTTP client libraries available.

Use centra!

First, require the library.

const c = require('centra')

Then let's make a request in an async function!

;(async () => {
	const res = await c('https://example.com').send()

	console.log(await res.text())
})()

More advanced usage

Send data in a JSON body

c('https://example.com/nonexistentJSONAPI', 'POST').body({
	'name': 'Ethan'
}, 'json').send().then((res) => {
	/*...*/
})

Send data in a form body

c('https://example.com/nonexistentJSONAPI', 'POST').body({
	'name': 'Ethan'
}, 'form').send().then((res) => {
	/*...*/
})

Set query string parameters

One at a time:

c('https://example.com/user').query('id', 'u1817760').send().then((res) => {
	/*...*/
})

Many at a time:

c('https://example.com/user').query({
	'id', 'u1817760',
	'name': 'Ethan'
}).send().then((res) => {
	/*...*/
})

Set a request timeout

c('https://example.com').timeout(2000).send().then((res) => {
	// Success!
}).catch((err) => {
	// Has the request timed out?
})

Stream a request's response

In this example, the stream is piped to a file:

// require the fs module beforehand

c('https://example.com').stream().send().then((stream) => stream.pipe(fs.createWriteStream(path.join(__dirname, 'logo.png'))))

Follow redirects

c('https://example.com/').followRedirects(5).send()

Switch paths on the fly

c('https://example.com/test').path('/hello').send()

// This will make a request to https://example.com/test/hello

Specify request headers

One at a time:

c('https://example.com').header('Content-Type', 'application/json').send()

Many at a time:

c('https://example.com').header({
	'Content-Type': 'application/json',
	'X-Connecting-With': 'centra'
}).send()

Modify core HTTP request options

See http.request's options for more information about core HTTP request options. Let's change our localAddress as an example.

c('https://example.com').option('localAddress', '127.0.0.2').send()

Accept compressed responses

c('https://example.com').compress().send()

// This will cause centra to accept compressed content from the server. (gzip and deflate are currently supported)

Current Tags

  • 2.7.0                                ...           latest (2 years ago)

16 Versions

  • 2.7.0                                ...           2 years ago
  • 2.6.0                                ...           3 years ago
  • 2.5.0                                ...           5 years ago
  • 2.4.2                                ...           6 years ago
  • 2.4.1                                ...           6 years ago
  • 2.4.0                                ...           7 years ago
  • 2.3.0                                ...           7 years ago
  • 2.2.2                                ...           7 years ago
  • 2.2.1                                ...           7 years ago
  • 2.2.0                                ...           7 years ago
  • 2.1.0                                ...           8 years ago
  • 2.0.2                                ...           8 years ago
  • 2.0.1                                ...           8 years ago
  • 2.0.0                                ...           8 years ago
  • 1.0.1                                ...           8 years ago
  • 1.0.0                                ...           8 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 2
Last Month 0
Dependencies (1)
Dev Dependencies (2)
Dependents (1)

Copyright 2013 - present © cnpmjs.org | Home |