1.3 KiB
Known differences
As of 1.x release
-
Topics such as Cross-Origin, Content Security Policy, Mixed Content, Service Workers are ignored, given our server-side context.
-
URL input must be an absolute URL, using either
http
orhttps
as scheme. -
On the upside, there are no forbidden headers, and
res.url
contains the final url when following redirects. -
For convenience,
res.body
is a transform stream, so decoding can be handled independently. -
Similarly,
req.body
can either be a string, a buffer or a readable stream. -
Also, you can handle rejected fetch requests through checking
err.type
anderr.code
. -
Only support
res.text()
,res.json()
,res.buffer()
at the moment, until there are good use-cases for blob/arrayBuffer. -
There is currently no built-in caching, as server-side caching varies by use-cases.
-
Current implementation lacks server-side cookie store, you will need to extract
Set-Cookie
headers manually. -
If you are using
res.clone()
and writing an isomorphic app, note that stream on Node.js have a smaller internal buffer size (16Kb, akahighWaterMark
) from client-side browsers (>1Mb, not consistent across browsers). -
ES6 features such as
headers.entries()
are missing at the moment, but you can useheaders.raw()
to retrieve the raw headers object.