regrest
v4.0.1
Micro Promise based HTTP client for the browser and node.js
Make XMLHttpRequests from the browser
Make http requests from node.js
Supports the Promise API
Built in TypeScript support
| Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | 11 ✔ |
If you intend to support Internet Explorer, be sure to have a poly-fill that adds a global Promise object
Using npm:
$ npm install regrest
Using cdn:
<script src="https://cdn.jsdelivr.net/npm/regrest/lib/index.umd.min.js"></script>
Regrest is designed to be the simplest way possible to make http calls
Performing a GET request
// Import using NodeJS or CommonJS moduleconst regrest = require("regrest").default;// Or using ES6 moduleimport regrest from "regrest";// Use Promiseregrest
.get("/man/bear/pig")
// Print the raw response string
.then((response) => console.log(response.text))
// Print any error if occurred
.catch((error) => console.log(`*** Error: ${error}`));// Or use the new async/await keywordsconst getGood = async () => {
try {// Store the response in a variableconst response = await regrest.get("/foo/bar.json");// print out the parsed responseconsole.log(response.json);
} catch (error) {// Print any error if occurredconsole.log(`*** Error: ${error}`);
}};getGood();// Or use callbacks// WE DON'T DO THAT HEREPerforming a POST request
regrest
.post("/comment", JSON.stringify({ name: "Foo", comment: "Bar" }))
.then((response) => console.log(response.status, response.statusText))
.catch((error) => console.log(error));// Default options are marked with *const options = {
method: "GET", // *GET, POST, PUT, DELETE, etc.
url: "https://some-domain.com/api/",
headers: { "Content-Type": "application/json; charset=utf-8" }, // *{}
params: { UID: 9873 },
data: JSON.stringify(data), // *null
maxRedirects: 10, // *5
withCredentials: true, // *false, true};{
// Contains the status code of the response, e.g. 404 for a not found resource, 200 for a success
status: 200,
// A message related to the status attribute, e.g. OK for a status 200
statusText: "OK",
// The headers that the server responded with
headers: {},
// Response content as a string
text: "",
// Response content as JSON
json: {},
// Response content as Blob on browser and Buffer on Node js
arrayBuffer: instance of Blob || instance of Buffer,
// Reponse content as Blob
blob: instance of Blob};regrest.get("/McNullington").catch((error) => {
if (error.response) {/** * A request was made but server responded * with status code out of the 2XX range * `error.response` is an instance of the response object */console.log(error.response.status);console.log(error.response.statusText);console.log(error.response.headers);// ...
} else if (error.request) {/** * A request was made, but no response was received * `error.request` is an instance of XMLHttpRequest on browser and an instance of * http.ClientRequest on Node js */console.log(error.request);
} else {// Something else happenedconsole.log(error.message);
}});