FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

global default options and handlers · Issue #22 · developit/unfetch · GitHub

Repository navigation

global default options and handlers #22

Description

Since fetch apis are used a lot in a typical web application, it would be nice to have a unfetch.defaults object that sets default parameters of all requests.
A use case would be to set base URL of all requests.

unfetch.defaults.baseURL = 'my-api-endpoint'

Activity

  1. tunnckoCore commented on Feb 23, 2017

    Collaborator

    Sounds good, but don't believe we can get 500b, haha

  2. farskid commented on Feb 23, 2017

    Author

    Well, having a useful feature to cost some bytes wouldn't harm I guess.
    Let's watch the package size to see if there is a chance for adding this feature.

  3. tunnckoCore commented on Feb 23, 2017

    Collaborator

    I'm agree with you and was thinking the same thing when mitt came - in its case we can get few more features if we allow 20-30bytes more, but @developit is holding strongly that it should be 200b. I'm agree with him too and there was a discussion like if we allow such things we'll get to point such as "let's add more more 1-2kb" haha and was mentioned momentjs that it started like micro lib.

    So yea, it is good thing to try to be strict.

  4. farskid commented on Feb 23, 2017

    Author

    @tunnckoCore HAHA did not know that momentjs was a micro library at the beginning. Looking forward to hear about the decision from @developit . This feature whether added or not, both seems logical to me at the moment. :)

  5. tunnckoCore commented on Feb 23, 2017

    Collaborator

    Yea, that's the exact comment developit/mitt#11 (comment), and i'm totally agree with him.

  6. developit commented on Feb 23, 2017

    Owner

    This discussion makes me happy :)
    Let's keep this on a list of nice-to-haves that we can look to if we save bytes.

    Btw - for defaults, we should make a wrapper library, that way they would work for native fetch too 😀

  7. farskid commented on Feb 23, 2017

    Author

    @developit You mean like an IIFE that wraps the native or unfetch altogether?

  8. developit commented on Feb 23, 2017

    Owner

    Yup, a way to inject defaults by proxying window.fetch:

    let real = window.fetch;
    window.fetch = (url, options) => {
      // Apply URL and options transforms here
      return old(url, ootions)
        .then(options.after || Object);
                   // ^ middleware!!
    };
  9. farskid commented on Feb 23, 2017

    Author

    Yeah, good pattern, agreed.

  10. tunnckoCore commented on Feb 23, 2017

    Collaborator

    Absolutely agree to be separate kinda nanolib. Hm, let's coin nano frameworks? haha

  11. developit commented on Feb 24, 2017

    Owner

    Unlibs

  12. developit commented on Feb 25, 2017

    Owner

    @tunnckoCore @farskid - what do we want to do with these types of issues/PRs? We can't merge them because of the nature of this library (it being a polyfill and thus bound by the spec it emulates), but I hate closing them when there's good discussion and tasks to be taken away. Maybe we need a repo/place where these ideas/implementations go so that we can build up a set of feature requests for wrapper libraries?

  13. farskid commented on Feb 26, 2017

    Author

    @developit @tunnckoCore I guess a wrapper for addon features is a nice idea. Devs can either use the super light version or pay the price of not so much light version for the extra features such as global configurations, extra handlers, ...

  14. developit commented on Feb 26, 2017

    Owner

    Exactly! And the wrapper will work regardless of whether unfetch or native fetch gets used.

  15. farskid commented on Feb 26, 2017

    Author

    Yup so much like a higher order API. Would love to contribute to the wrapper.

  16. tunnckoCore commented on Feb 26, 2017

    Collaborator

    Exactly, that's the cool of micro things. : )

  17. developit commented on Feb 26, 2017

    Owner
  18. notpushkin commented on Mar 10, 2017

    I've written this in one of my projects sometime ago. fetch-plus seems a lot nicer though.

  19. developit commented on Mar 10, 2017

    Owner

    @iamale totally stealing that

  20. MobiusHorizons commented on Mar 22, 2017

    Learned a lot just reading this thread!! There are a lot of good ideas happening here. Is there a way it can be preserved? If it were closed, it could still be linked to from a wiki or something.

  21. developit commented on Mar 22, 2017

    Owner

    Heh - I think that's why we haven't closed it. Need to find a good home for these things, maybe in the wiki.

  22. notpushkin commented on Apr 3, 2017

    Another thing that I had in mind since I wrote arequests is this:

    const api = Afetch({url: "https://api.github.com"});
    let mdo = await api.users["mdo"].get();
    let json = await mdo.json();  // or whatever you'd do with a regular Fetch object
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions


      Back | FazBrowse Home | New Git URL