Package Exports
- simple-requests
- simple-requests/lib/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (simple-requests) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
simple-requests
A package for making simple HTTP requests (GET, POST, PUT, DELETE).
Installation
npm install simple-requests
Use
GET Request
JavaScript
const { get } = require('simple-requests');
get('https://postman-echo.com/get?foo1=bar1&foo2=bar2')
.then((res) => console.log(res));
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:
interface IResponse {
data: any;
headers: http.IncomingHttpHeaders;
}
Example Response
{
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.
{
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.
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
# OAuth 2 bearer token.
zgBUCUQneGqAwz44ghwXe82i54CI