Luca Casonato
9e6cd91014
chore: align fetch to spec ( #10203 )
...
This commit aligns the `fetch` API and the `Request` / `Response`
classes belonging to it to the spec. This commit enables all the
relevant `fetch` WPT tests. Spec compliance is now at around 90%.
Performance is essentially identical now (within 1% of 1.9.0).
2021-04-20 14:47:22 +02:00
Luca Casonato
353e79c796
chore: align FormData to spec ( #10169 )
...
This PR aligns `FormData` to spec. All WPT tests are passing.
2021-04-14 22:49:16 +02:00
Luca Casonato
dabce813e0
perf: lazy header instantiation for HTTP requests ( #10150 )
...
This commit introduces a performance optimization for the native HTTP
server. From my testing it is about 2-6% faster than `main`. Request
headers in the HTTP servers are now lazilly instatated when they are
accessed, rather than being preemptively wrapped in the `Headers` class.
2021-04-13 02:46:33 +02:00
Aaron O'Mullan
9f26e639dd
perf(fetch): optimize normalizeMethod() ( #10154 )
2021-04-13 02:45:57 +02:00
Aaron O'Mullan
46b1c653c0
refactor(deno): remove concept of bin & json ops ( #10145 )
2021-04-12 15:55:05 -04:00
Aaron O'Mullan
2aed322dd5
refactor: convert ops to use serde_v8 ( #10009 )
...
This commit rewrites most of the ops to use "serde_v8" instead
of "json" serialization.
2021-04-05 18:40:24 +02:00
Developing
923214c537
chore: use strict mode for internal runtime, core, and op_crates js ( #9391 )
2021-02-04 23:18:32 +01:00
Ryan Dahl
644a7ff2d7
fetch optimizations ( #9402 )
...
Release deno_fetch 0.20.2
2021-02-04 13:08:41 -05:00
Luca Casonato
25b35be50d
refactor: rewrite File implementation ( #9334 )
2021-02-04 15:05:36 +01:00
Luca Casonato
fa975a9bae
refactor: rewrite Blob implementation ( #9309 )
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
2021-01-30 19:22:24 +01:00
Luca Casonato
6ecc86cf2a
chore: add jsdoc to 26_fetch.js and enable some fetch tests ( #9305 )
2021-01-28 21:37:21 +01:00
Luca Casonato
7a30d1a3d8
fix: redirect in --location relative fetch ( #9150 )
2021-01-18 13:59:29 +01:00
Bartek Iwańczuk
b26dcbc69d
chore: Enforce ban-untagged-todo lint rule ( #9135 )
2021-01-17 00:32:59 +01:00
Yusuke Tanaka
d8fd71afdf
chore: update copyright to 2021 ( #9092 )
2021-01-11 18:13:41 +01:00
Luca Casonato
1a6ce29f3d
feat(fetch): req streaming + 0-copy resp streaming ( #9036 )
...
* feat(fetch): req streaming + 0-copy resp streaming
* lint
* lint
* fix test
* rm test.js
* explicitly use CancelHandle::default()
* Apply review suggestions
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
* fix test
* Merge remote-tracking branch 'origin/master' into fetch_real_streaming
* fix test
* retrigger ci
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
2021-01-10 20:54:29 +01:00
Nayeem Rahman
e61e81eb57
feat: add --location=<href> and globalThis.location ( #7369 )
2021-01-07 19:06:08 +01:00
Rich Trott
e568ddf996
fix(op_crates/fetch): correct regexp for fetch header ( #8927 )
...
Fix bug in regular expression and make the regular expression more
strict.
In a string passed to new RegExp(), '[\t\s]' is identical to '[ts]' and
not `/[\t\s]/`. For that, the backslash needs to be escaped in the
string. Futhermore, `\t` is the tab character and is included in the
special regexp value `\s` so is unnecessary.
That would reduce the RegExp to new RegExp(`^${value}\\s*;?`) but
there's no point in matching 0 or more space characters followed by 0 or
one semi-colons as that will match no matter what follows `value`.
To make it more strict, require one of space, semicolon, or
end-of-string after value.
2020-12-30 23:46:08 +01:00
Luca Casonato
ddda669a02
fix: implement ReadableStream fetch body handling ( #8855 )
2020-12-22 14:14:23 +01:00
Luca Casonato
501a31fcf3
fix(op_crates/fetch): redirect: "manual"
fetch should return type: "default"
response ( #8353 )
2020-11-24 21:00:35 +01:00
Bartek Iwańczuk
8e914be742
build: migrate to dlint ( #8176 )
...
This commit migrates repository from using "eslint"
to "dlint" for linting JavaScript code.
2020-11-03 16:19:29 +01:00
Kid
4c41ba5ad7
fix(op_crates/fetch): ensure Request.method to be string ( #8100 )
...
Ensure "Request.method" to be the default value ("GET") if
"init.method" is not defined, which follows browser's behavior.
2020-10-26 15:02:08 +01:00
Luca Casonato
08441b855d
fix(op_crates/fetch): Body.body should be stream of Uint8Array ( #8030 )
2020-10-19 17:01:36 +02:00
Nayeem Rahman
98727b331d
fix(op_crates/fetch): Stringify and parse Request URLs ( #7838 )
...
Fixes #7837
2020-10-09 16:12:44 +11:00
Luca Casonato
5c2e499c3a
fix: Response.arrayBuffer() doesn't return promise ( #7618 )
2020-09-21 22:07:41 +02:00
Bartek Iwańczuk
7845740637
refactor: deno_fetch op crate ( #7524 )
2020-09-18 09:20:55 -04:00