Making onProxyRes function asynchronous friendly
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- express, javascript, node.js
調査の方向性
まず、onProxyResコールバックがどのように呼び出され、そのレスポンスがどのように転送されるかを追跡します。このissueには、3秒間待機するasync関数をawaitする、実行可能なExpressの例が用意されています。例を再現し、レスポンスを生成するためにres.write()とres.end()が使用される前に、非同期のonProxyResが完了できることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
I would like to be able to set response after a specific time passed as my code below, but it's not possible.
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
const asyncFunc = () => {
return new Promise((resolve) => {
setTimeout(() => resolve("Hello World!"), 3000)
})
}
const onProxyRes = async function (proxyRes, req, res) {
const result = await asyncFunc()
res.write(result);
res.end();
};
const exampleProxy = createProxyMiddleware({
target: 'https://example.com',
changeOrigin: true,
on: { proxyRes: onProxyRes }
});
app.use('/', exampleProxy);
app.listen(3003)
But if I remove const result = await asyncFunc() part, I can set response anything I want inside of res.write();.
- 主要言語
- JavaScript
- スター
- 14.1k
- フォーク
- 2k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
http-party/node-http-proxy のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
http-party/node-http-proxy#1719 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 72/100
http-party/node-http-proxy#1721 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 55/100
http-party/node-http-proxy#1715 · コメント 1 件 · リアクション 5 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 15/100
http-party/node-http-proxy#1711 · コメント 2 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
http-party/node-http-proxy#1710 · リアクション 5 件 ·
http-party/node-http-proxy の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
microsoft/TypeScript#65370 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue priority: medium
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
TMHSDigital/Free-Game-Dev-Assets#272 ·
メンテナーはふだん 1 日以内に返信
-
metrics priority: medium
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
LearningCircuit/local-deep-research#8336 ·
メンテナーはふだん 1 日以内に返信
-
ace bug yaml
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
svelte: whitespace-only edit leaves an empty todo, edits not trimmed, filter not restored on reloadオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100