mirror of
https://github.com/denoland/deno.git
synced 2024-11-21 20:38:55 +00:00
perf(ext/fetch): speed up resp.clone()
(#24812)
(cherry picked from commit b153065e44
)
This commit is contained in:
parent
e23512fde3
commit
f8a9d8defc
@ -196,10 +196,23 @@ class InnerBody {
|
||||
* @returns {InnerBody}
|
||||
*/
|
||||
clone() {
|
||||
const { 0: out1, 1: out2 } = readableStreamTee(this.stream, true);
|
||||
this.streamOrStatic = out1;
|
||||
const second = new InnerBody(out2);
|
||||
second.source = core.deserialize(core.serialize(this.source));
|
||||
let second;
|
||||
if (
|
||||
!ObjectPrototypeIsPrototypeOf(
|
||||
ReadableStreamPrototype,
|
||||
this.streamOrStatic,
|
||||
) && !this.streamOrStatic.consumed
|
||||
) {
|
||||
second = new InnerBody({
|
||||
body: this.streamOrStatic.body,
|
||||
consumed: false,
|
||||
});
|
||||
} else {
|
||||
const { 0: out1, 1: out2 } = readableStreamTee(this.stream, true);
|
||||
this.streamOrStatic = out1;
|
||||
second = new InnerBody(out2);
|
||||
}
|
||||
second.source = this.source;
|
||||
second.length = this.length;
|
||||
return second;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user