Package detail

@rqt/aqt

rqt23MIT1.4.0

An Advanced Network Request Package That Returns Body (Parsed As JSON If Needed), Headers And Status After Gzip Decompression.

request, network, http, https

readme

@rqt/aqt

npm version

aqt is a network request package for Node.JS that returns the body (parsed if returned as JSON), headers and status after gzip decompression when necessary.

rqt:~$ \
yarn add @rqt/aqt
npm install @rqt/aqt

Table Of Contents

API

The package exports the main default asynchronous function to make requests.

import aqt from '@rqt/aqt'

async aqt(
  address: string,
  options=: !AqtOptions,
): !AqtReturn

Request a web page and return information including headers, statusCode, statusMessage along with the body (which is also parsed if JSON received).

  • <kbd>address*</kbd> string: The URL to request data from.
  • <kbd>options</kbd> !AqtOptions (optional): The options for the request.

Makes a request to the URL, either with or without options.

AqtOptions: Configuration for requests.

Name Type & Description Default
data !Object -
Optional data to send to the server with the request.
type string json
How to send data: json to serialise JSON data and add Content-Type: application/json header, and form for url-encoded transmission with Content-Type: application/x-www-form-urlencoded. Multipart/form-data must be implemented manually.
headers Node.JS Docs!http.OutgoingHttpHeaders -
Headers to use for the request. By default, a single User-Agent header with Mozilla/5.0 (Node.JS) aqt/{version} value is set.
compress boolean true
Add the Accept-Encoding: gzip, deflate header to indicate to the server that it can send a compressed response.
timeout number -
The timeout after which the request should fail.
method string -
What HTTP method to use in making of the request. When no method is given and data is present, defaults to POST.
binary boolean false
Whether to return a buffer instead of a string.
justHeaders boolean false
Whether to stop the request after response headers were received, without waiting for the data.

In the example below, a function is created to query data from a server.

SourceOutput
js import aqt from '@rqt/aqt' const Request = async (url) => { const res = await aqt(url) const resp = JSON.stringify(res, null, 2) console.log(resp) } json5 { "body": "Hello World", "headers": { "content-type": "text/plain", "date": "Tue, 07 Jan 2020 22:25:31 GMT", "connection": "close", "transfer-encoding": "chunked" }, "statusCode": 200, "statusMessage": "OK" }

AqtReturn Type

The result of the aqt function will have the following structure:

Property Type Description Example
body string|object|Buffer The return from the server. In case json content-type was set by the server, the response will be parsed into an object. If binary option was used for the request, a Buffer will be returned. Otherwise, a string response is returned.
headers object Incoming headers returned by the server.
<summary>headers example</summary> json5 { "server": "GitHub.com", "date": "Wed, 18 Jul 2018 01:32:47 GMT", "content-type": "application/json; charset=utf-8", "content-length": "2", "connection": "close", "status": "200 OK", "x-ratelimit-limit": "60", "x-ratelimit-remaining": "59", "x-ratelimit-reset": "1531881167", "cache-control": "public, max-age=60, s-maxage=60", "vary": "Accept", "etag": "\"d751713988987e9331980363e24189ce\"", "x-github-media-type": "github.v3; format=json", "access-control-allow-origin": "*", "x-frame-options": "deny", "x-content-type-options": "nosniff", "x-xss-protection": "1; mode=block", "content-security-policy": "default-src 'none'", "x-runtime-rack": "0.018822", "x-github-request-id": "F187:785E:65A1E8A:C2A36B5:5B4E98BF" }
statusCode number The status code returned by the server. 200
statusMessage string The status message set by the server. OK

Copyright

Art Deco © Art Deco for Rqt 2020 Tech Nation Visa Tech Nation Visa Sucks

changelog

8 January 2020

1.4.0

  • [fix] Compile w/ destructured headers' names for Closure.
  • [doc] Add typedefs.json file.

29 July 2019

1.3.0

3 July 2019

1.2.6

  • [fix] Don't override passed headers (Content-Type, Content-Length and Accept-Encoding).

16 April 2019

1.2.5

  • [doc] Use http namespace in types.

1.2.4

  • [fix] Do not throw if content-type is not returned.
  • [deps] Unfix and update dependencies.

3 February 2019

1.2.3

  • [fix] Set the method when no data is given.

1.2.2

  • [fix] Don't parse JSON if body is empty.

2 February 2019

1.2.1

  • [feature] Point to the exact module.

1.2.0

11 January 2019

1.1.5

  • [fix] Do fix correct method JSDoc.

1.1.4

  • [fix] Correct method JSDoc.

12 November 2018

1.1.3

  • [deps] Install missing dependencies.
  • [build] Exclude source maps.

1.1.2

26 September 2018

1.1.2

  • [types] Add return type to the build.

1.1.1

  • [types] Publish types to use in @rqt/rqt.

25 September 2018

1.1.0

  • [feature] Add compression property to config.
  • [package] Update description and add the network tag.
  • [test] Test with IdioCore.

24 September 2018

1.0.2

  • [doc] Use types for JSDoc and README.
  • [build] Build w/ alamode.

18 July 2018

1.0.1

  • [doc] Example row (`documentary@1.10.0) for better readability.

10 July 2018

1.0.0

  • [package] Scope at rqt and release.

23 June 2018