Coder Social home page Coder Social logo

goget's Introduction

Goget

Easy and flexible HTTP client for the browser.

About

  • ๐Ÿ“ƒ Based on web standards (Fetch, URL, SearchParams, etc).
  • ๐Ÿค– Modern browsers only.
  • โšก No dependencies.
  • ๐Ÿ†Ž Written in TypeScript with exported types.
  • ๐Ÿšฒ Conventional API, if you're familiar with Axios and the like.
  • โ›ฐ๏ธ Robust composability with extended instances and hooks.
  • โ„๏ธ Unique features like interpolation, customizable encoding and request merging (see below).

At a glance

This is an over engineered example to showcase some of the features.

const httpbin = goget.extend({
  url: "{schema}://httpbin.{tld}",
  params: {
    tld: "org",
  },
  reqHooks: [
    async (req) => {
      req.headers["x-api-key"] = "123";
      return req;
    },
  ],
});

const anything = httpbin.extend({
  url: "/anything",
  params: {
    schema: "https",
  },
});

const resp = await anything.post("test", {
  params: {
    one: 1,
  },
  data: {
    message: "Hello!",
  },
});

The above request will look like this:

HTTP
POST /anything/test?one=1
Host: https://httpbin.org
Content-type: application/json
x-api-key: 123

{"message":"Hello!"}

Features

URL parametrization

...

Parameter encoding

...

Request merging

...

Documentation

See ...

Legal

MIT ยฉ 2021 Arthur Corenzan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.