weak-request

`Only Support Browser based request. ` `Current Supporting Request Method: "GET", "POST", "PUT", "PATCH", "DELETE"`

Usage no npm install needed!

<script type="module">
  import weakRequest from 'https://cdn.skypack.dev/weak-request';
</script>

README

Http Request

Only Support Browser based request. Current Supporting Request Method: "GET", "POST", "PUT", "PATCH", "DELETE"

GET

import {create} from "weak-request";

create({
  url: "http://api.plos.org/search",
  method: "GET",
  params: {
    q: "title:DNA",
  },
}).then((res) => console.log(res.data));

POST

import {create} from "weak-request";

create({
  url: "http://example.com",
  method: "POST",
  data: {
    q: "title:DNA",
    s: {a: 1, b:2}
  },
}).then((res) => console.log(res.data));

Interceptor


// weakRequest is store as global variable
// Or you can import the default export
// import weakRequest from "weak-request"

weakRequest.interceptors.request.add((req) => {
  // TODO: Your Action

  // Optional Return
  return Promise.resolve(req);
});

weakRequest.interceptors.response.add((res) => {
  // TODO: Your Action

  // Optional Return
  return Promise.resolve(res);
});

Cancellation

const cancel = new Cancellation();
const start = () => {
  create({
    url: "http://api.plos.org/search",
    method: "GET",
    params: {
      q: "title:DNA",
    },
    data: {},
    cancelToken: cancel,
  }).then((res) => console.log(res.data));
};

start();

setTimeout(() => {
  cancel.cancel("Operation canceled by the user");
}, 500);

Global Default Url And Headers


weakRequest.config = {
    baseURL: "http://localhost",
    headers: {
      Authorization: "Bearer aaa.aaa.aaa"
    }
}