Comments (8)
@shaunc From the docs:
Encoding to be used on setEncoding of the response data. If null, the body is returned as a Buffer.
binary
is a string encoding, not actual binary nor buffer.
from got.
Yeah, I initially created this for a specific use-case I had, but I agree that would be nice.
Seems like request
has an option for encoding
:
encoding - Encoding to be used on setEncoding of response data. If null, the body is returned as a Buffer.
But I tend to prefer returning a buffer and let the user choose what to do with it.
OT, but curious why you're using stream.on('readable')
rather than stream.on('data')
. I don't get when to use which.
@floatdrop thoughts on this?
from got.
I am not an expert in streams but AFAIU:
- when readable is emitted, you can call
stream.read()
and it will returns some data; - when data is emitted, you get the data directly.
One more thing: adding an handler for the data event switch the stream in flowing mode which the documentation recommends.
I think I should have used the last one.
from got.
After some more thoughts, I think non flowing mode is useful for back pressure (e.g. allowing a file stream to retrieve data only when needed) but is useless for this case.
from got.
I would prefer passing encoding into options and leave stuff related to binary data in stream mode of got
. It just my opinion, but I often forget to do toString
on buffers and get very obscure errors.
from got.
Hmm, yeah, when thinking about it, you'll want text in almost every case, so makes more sense to default to that. encoding
option it is.
@julien-f Wanna do a PR?
from got.
Yep.
from got.
Is there any way to get response.body
as a buffer if you want it that way? Seems even with {encoding: 'binary'}
response body is string. Or do you have to use stream?
from got.
Related Issues (20)
- `Response<string>` returned rather than a json response HOT 2
- Is v13 still maintained/supported? HOT 1
- Hangs on revalidated response from cache
- Infinite redirection with special characters in the redirected URL HOT 1
- Support `servername` https option
- How to get traffic usage per request? HOT 1
- Is it possible to skip/disable normalization of a request body? HOT 1
- afterResponse fired 3 times on error HOT 3
- Getting the IP address for failed requests due to timeout
- Post request to API returns response code 500 (Internal Server Error) whereas CURL returns 200 status code HOT 2
- Timeouts are longer than expected HOT 1
- NPM Says: Types are not integrated HOT 1
- FormData getLength can error out when some file input is unknown stream.
- POSTs whose bodys are instances of createReadStream hang with latest node HOT 5
- Apply `applyDestroyPatch` for v11.x
- Stream report downloadProgress when redirects HOT 1
- Is TypeScript support outdated? HOT 1
- Good News for CJS
- afterResponse hook is not called after a retryWithMergedOptions() HOT 2
- HTTP2 with proxy doesn't work? (http2-wrapper)
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 got.