Comments (3)
Please see: #554 I believe this should resolve the issue you are facing with the missing text
content handling.
from gaxios.
Thanks, I'll test it to ensure it works correctly in my case.
Looking at the code, I tried to find remaining potential places where the response is attempted to be parsed as JSON, in which gaxios would produce an error when the JSON fails to parse:
- If the user doesn't specify a response type,
getResponseDataFromContentType
may throw an error if the server reports acontent-type
ofapplication/json
but the response fails to parse as JSON. - On the other hand, due to the
try { ... } catch { /* continue */}
ingetResponseData
, if the user explicitly requests a'json'
response type, and the parsing fails, they will not get an error, even if the server's returnedcontent-type
was actuallyapplication/json
(thecontent-type
is not checked in this case). That looks somewhat inconsistent, since I would assume that the expectation here would be stronger, since the both the user has explicitly indicated they expect a JSON response, and the server itself indicated that itscontent-type
was supposed to be JSON (to clarify - I'm not necessarily suggesting having it error in this case is a good or bad idea, just mentioning this scenario for comparison). - I also noticed, in
common.ts
, that when constructing aGaxiosError
,translateData
may fail to parse the response as JSON in the cases where the user requested'json'
,'arraybuffer'
or'blob'
. So it would fail to create a newGaxiosError
object. Usually when constructing an Error object, it is undesirable to have the Error construction itself throw an Error. This isn't completely related to the original issue, but I noticed it.
from gaxios.
Regarding 1 & 2. I will put a fix in place to make it consistent behavior, thanks for the heads up! Let me take a closer look at 3.
from gaxios.
Related Issues (20)
- Your .repo-metadata.json file has a problem 🤒
- Your .repo-metadata.json file has a problem 🤒
- Ensuring compliance with SNI Extension requirement on remote host HOT 3
- Support proxy option instead of HTTP_PROXY env variable HOT 4
- Get request with one-item array param, will send the value inside instead the the array HOT 1
- Feature request: optional error throwing HOT 2
- 📦 pack and install: "before all" hook: pack and install for "should run the sample" failed HOT 4
- can i please for more docs about comparison with axios HOT 1
- Incorrect GaxiosError message type when request responseType "arrayBuffer" HOT 2
- Uncaught ReferenceError: process is not defined HOT 1
- timeout - seconds or milliseconds HOT 1
- feat!: Use Native `cause` in `GaxiosError`
- Using googleapis for direct CSV downloads does not return CSV
- Typo on README.md
- feat: Updated `timeout` Implementation and Documentation HOT 1
- feat: Add `client_secret` to `defaultErrorRedactor` HOT 2
- Warning: a recent release failed HOT 1
- Warning: a recent release failed HOT 1
- Warning: a recent release failed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gaxios.