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 HERE
Performing 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); }});