GithubHelp home page GithubHelp logo

Comments (1)

kettanaito avatar kettanaito commented on June 24, 2024

Hi, @Lesstat. Thanks for raising this!

This has been brought up in the past, and I've decided not to support custom error messages with HttpResponse.error(). There are two reasons for it.

Reason 1: Response.error()

The HttpResponse.error() static method is modeled after the standard Response.error(), which does not support any arguments, representing a generic network error when processing a request. Staying consistent here means predictable behavior, and I value that quite a lot.

Reason 2: Inconsistent error handling

MSW v1 used to have a NetworkError class that supported custom error messages. It has quickly taught us that it is up to the request client to forward that error message to you, and some widely-used clients do not do that at all. This results in inconsistent errors, degrading the experience (and also producing different behavior based on what request client you're using, which we are trying to eliminate here at MSW).

I hope this gives you some insight as to why this wouldn't be a good idea to introduce.

When I stumbled upon your issue, I also noticed that we still recommended throwing errors in response resolvers in the docs. I've updated the HttpResponse.error() page, also providing a short summary as to why we are not supporting custom error messages.

from msw.

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.