Code Monkey home page Code Monkey logo

Comments (8)

kettanaito avatar kettanaito commented on June 18, 2024

Hi, @vishal-vc. Please submit a reproduction repository for this issue. We have an extensive test suite that doesn't replicate your issue. Clearly, something is specific to your setup.

Happy to iterate on this once you post a repo. Until then, closed.

from msw.

mayfairr-plt avatar mayfairr-plt commented on June 18, 2024

@vishal-vc did you find a specific fix for this issue? I am experiencing it.

Using React Native, ^0.68.7, and MSW latest with axios.

FYI,

  http.post('/something', () => {
    return new Response({test:true}, {
      status: 200,
      headers: {
        'Content-Type': 'application/json',
        'Content-Length': 1270,
        'Last-Modified': 'Mon, 13 Jul 2020 15:00:00 GMT',
      },
    });
  })

The headers and repsonse status is set correctly, however the response is still ''

from msw.

zibs avatar zibs commented on June 18, 2024

hey @mayfairr-plt take a look at #2026 I think it's the same issue. I'm not sure where the fix is necessarily going to be applied though (here, or RN, or Axios etc.)

from msw.

kettanaito avatar kettanaito commented on June 18, 2024

@mayfairr-plt, it looks you are using the Response class incorrectly. You have to stringify the body:

-return new Response({test:true}, {
+return new Response(JSON.stringify({test:true}), {

Once you do, the response body will be the JSON you expect.

Alternatively, use the Response.json() static method or HttpResponse.json(), where the stringifying isn't necessary:

+import { HttpResponse } from 'msw'

http.post('/something', () => {
-    return new Response({test:true}, {
+    return HttpResponse.json({test:true}, {
        status: 200,
        headers: {
-       'Content-Type': 'application/json',
-       'Content-Length': 1270,
        'Last-Modified': 'Mon, 13 Jul 2020 15:00:00 GMT',
        },
    });
})

from msw.

akmjenkins avatar akmjenkins commented on June 18, 2024

Also experiencing this. I'm in a repo with significant legacy dependencies/jest setup. It's hard to pinpoint the issue but I'm consistently getting an empty string for data from axios even though the content-length of the response accurately describes the content I'm returning from the endpoint.

Sorry, I don't have a repo (I tried a vitest stackblitz only to find out it worked without my legacy cruft), but just wanted to add a commiserative "me too"

Using the latest axios and latest msw

from msw.

kettanaito avatar kettanaito commented on June 18, 2024

@akmjenkins, see if there aren't any errors during the request. Those may not surface apparently all the time. Otherwise, I cannot help much without a reproduction case for this.

from msw.

akmjenkins avatar akmjenkins commented on June 18, 2024

@kettanaito here you go:

https://stackblitz.com/edit/stackblitz-starters-prcm96

It looks like it has to do with whatwg-fetch which is a common polyfill in react/react-native projects

When you use the fetch Request/Response classes from the node environment it works.

I haven't gone any further, though.

Likely the same underlying issue as #2026

from msw.

mayfairr-plt avatar mayfairr-plt commented on June 18, 2024

Tried doing what you suggested @akmjenkins didn't work from the get go and couldn't invest enough time trying to get it to work. Ended up using v1 msw, and it worked without any issues 🚀

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.