@rqt/aqt
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).
- address*
string
: The URL to request data from. - options
!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 | !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.
Source | Output |
---|
import aqt from '@rqt/aqt'
const Request = async (url) => {
const res = await aqt(url)
const resp = JSON.stringify(res, null, 2)
console.log(resp)
}
|
{
"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. |
|
headers example
{
"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