Git Product home page Git Product logo

Comments (9)

aeirola avatar aeirola commented on March 29, 2024 7

You can do this with axios' interceptors by failing each request, but resolving the promise in the response error handler.

// Add request interceptor to force the request to fail
axios.interceptors.request.use((config) => {
  // Mangle URL to skip network request
  config.url = 'http://localhost:0/' + config.url;
  return config;
});

instance.interceptors.response.use((response) => {
  // Shouldn't really be called, ever
  return response;
}, (error) => {
  /* Returning a resolved promise from error handler
     will make final promise resolve as though the request
     would have returned successfully */
  return Promise.resolve({
    data: {/* response data */},
    status: 200,
    statusText: 'OK',
    headers: {},
    config: error.config
  });
});

from axios.

mzabriskie avatar mzabriskie commented on March 29, 2024 2

For anyone looking to address mocking for a test scenario I have created moxios.

from axios.

aaronshaf avatar aaronshaf commented on March 29, 2024

From what I can tell, this isn't possible with the current version of axios. An interceptor needs some way of preempting dispatchRequest.

from axios.

mzabriskie avatar mzabriskie commented on March 29, 2024

Is this to accommodate a test scenario?

from axios.

aaronshaf avatar aaronshaf commented on March 29, 2024

Yes, that and caching

On Mon, Feb 2, 2015 at 9:05 PM, Matt Zabriskie [email protected]
wrote:

Is this to accommodate a test scenario?


Reply to this email directly or view it on GitHub
#40 (comment).

from axios.

mzabriskie avatar mzabriskie commented on March 29, 2024

With version 0.6.0 you will be able to specify a custom adapter, which facilitates testing. There will also be built in caching of GET requests.

There's also this neat lib that is inspired by pretender that you could use https://github.com/aaronshaf/xhr-interceptor :)

from axios.

resistdesign avatar resistdesign commented on March 29, 2024

@mzabriskie How do you specify a custom adapter now?

from axios.

mzabriskie avatar mzabriskie commented on March 29, 2024

@resistdesign functionality didn't make the cut for 0.6.0. Will work on this for a future release.

from axios.

sekoyo avatar sekoyo commented on March 29, 2024

Any update on this? I much prefer axios's Promise api than superagent's callback api but I would need a way of mocking to adopt it. Thanks

from axios.

Related Issues (20)

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.