UNPKG

simple-requests

Version:

A library for performing simple http(s) requests.

114 lines (94 loc) 2.39 kB
simple-requests =============== A package for making simple HTTP requests (GET, POST, PUT, DELETE). Installation ------------ ``` npm install simple-requests ``` Use --- ### GET Request **JavaScript** ```javascript const { get } = require('simple-requests'); get('https://postman-echo.com/get?foo1=bar1&foo2=bar2') .then((res) => console.log(res)); ``` **TypeScript** ```typescript import { get } from 'simple-requests'; (async () => { const res = await get('https://postman-echo.com/get?foo1=bar1&foo2=bar2') console.log(res); })(); ``` ### Responses `get` requests returns objects with the `IResponse` interface: ```typescript interface IResponse { data: any; headers: http.IncomingHttpHeaders; } ``` **Example Response** ```javascript { headers: { date: 'Thu, 28 May 2020 04:20:44 GMT', 'content-type': 'application/json; charset=utf-8', 'content-length': '247', connection: 'close', etag: 'W/"f7-wONllpKRvpcZ0DGneUbLd5irmW0"', vary: 'Accept-Encoding', 'set-cookie': [ 'sails.sid=s%3Ab_94okJLKIMCu8R20ZCVCvl1nZkXXc40.SqaDcfefqu6ZSDm%2FVuJ%2BZPsrjmXN1GHy%2FrzUyIpFxC0; Path=/; HttpOnly' ] }, data: { args: { foo1: 'bar1', foo2: 'bar2' }, } } ``` **Error Response** Error response default to unclassified error, or a JavaScript error message. ```javascript { data: 'Unclassified error.', error: true, headers: { date: 'Thu, 28 May 2020 04:20:44 GMT', 'content-type': 'text/plain; charset=utf-8', 'content-length': '19' } } ``` ### POST Requests `post` requests are similar to `get` requests, with the addition of a `data` property to the `options` parameter. __Note: more about `data` parameter, including examples, will be added.__ #### URL Encoded Form Data Sending URL encoded form data. ```typescript import querystring from 'querystring'; // Requesting an OAuth 2 bearer token. const data = querystring.stringify({ client_id: this.clientId, client_secret: this.clientSecret, grant_type: 'client_credentials' }); // Make sure to set the correct Content-Type. tmp = await post(this.oauthUrl, { data, headers: { 'Content-length': data.length, 'Content-type': 'application/x-www-form-urlencoded', } }); console.log('token', tmp.data); ``` **Output** ```sh # OAuth 2 bearer token. zgBUCUQneGqAwz44ghwXe82i54CI ```