httpx

3.0.1 • Public • Published

httpx

http(s) module with power.

NPM version Node.js CI codecov npm download

Installation

npm install httpx --save

Usage

import * as httpx from 'httpx';

Request URL

const response = await httpx.request('http://www.baidu.com/');
const body = await httpx.read(response, 'utf-8');
console.log(body);

Request SSE URL

const response = await httpx.request('sse url');
for await (const event of httpx.readAsSSE(response)) {
  console.log(event);
}

API

httpx.request(url[, options])

It returns Promise<Response>.

Requests the url with options, then return the response.

  • url String | Object - The URL to request, either a String or a Object that return by url.parse.
  • options Object - Optional
    • method String - Request method, defaults to GET. Could be GET, POST, DELETE or PUT.
    • data String | Buffer | Readable - Manually set the content of payload.
    • headers Object - Request headers.
    • timeout Number - Request timeout in milliseconds. Defaults to 3000. When timeout happen, will return RequestTimeout.
    • agent http.Agent - HTTP/HTTPS Agent object. Set false if you does not use agent.
    • beforeRequest Function - Before request hook, you can change every thing here.
    • compression Boolean - Enable compression support. Tell server side responses compressed data

httpx.read(response[, encoding])

It returns Promise<Buffer | String>.

Consume the response and read all data from the response.

  • response Response - the Client response. Don't setEncoding() for the response.
  • encoding String - Optional. If specify the encoding, will return String. If not specify encoding, return the buffer.

httpx.readAsSSE(response)

It returns AsyncGenerator<Event, void, unknown>.

Consume the response data with async iterator.

  • response Response - the Client response. Don't setEncoding() for the response.

Using with http proxy

import { SocksProxyAgent } from 'socks-proxy-agent';
import * as httpx from 'httpx';

await httpx.request('http://www.baidu.com/', {
  // pass a http proxy agent
  agent: new SocksProxyAgent('socks://your_proxy_server:3001')
});

License

The MIT license

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.0.1
    122
    • latest

Version History

Package Sidebar

Install

npm i httpx

Weekly Downloads

11,394

Version

3.0.1

License

MIT

Unpacked Size

14.3 kB

Total Files

3

Last publish

Collaborators

  • jacksontian