star-0
@star-0

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

expressのrequestからの移行

解決したいこと

nodejsでexpressのresponseにfetchしたファイルを流し込む
node v22, fetchは標準搭載を使用

今までは

request({
  url: "url",
  method: "GET"
}).pipe(res);

これを使っていたが、fetchを使って実装したい(requestがdeprecatedと言われたので)

発生している問題・エラー

TypeError [ERR_INVALID_ARG_TYPE]: The "transform.writable" property must be an instance of WritableStream. Received an instance of ServerResponse

該当するソースコード

const f = await fetch("url", { method: 'GET' });
f.body.pipeTo(res);

自分で試したこと

Readable.fromWeb / Writable.toWeb を f.bodyにかませてみたりした

0

1Answer

↓ こうですかね?

const { Readable } = require("stream");

const f = await fetch("url", { method: 'GET' });
Readable.fromWeb(f.body).pipe(res);
0Like

Comments

  1. @star-0

    Questioner

    回答ありがとうございます!

    それなんですが、

    RangeError: offset is out of bounds
    

    というエラーが出てしまうんですよね、、、

Your answer might help someone💌