Making onProxyRes function asynchronous friendly
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- express, javascript, node.js
Piste de recherche
Commencez par retracer comment le callback onProxyRes est appelé et comment sa réponse est transmise ; l’issue fournit un exemple Express exécutable utilisant une fonction asynchrone avec await de trois secondes. Reproduisez l’exemple et vérifiez qu’un onProxyRes asynchrone peut se terminer avant que res.write() et res.end() soient utilisés pour produire la réponse.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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();.
- Langage dominant
- JavaScript
- Étoiles
- 14.1k
- Forks
- 2k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de http-party/node-http-proxy
-
util._extend() is depracatoryOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
http-party/node-http-proxy#1719 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
http-party/node-http-proxy#1721 · 1 commentaire ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 55/100
http-party/node-http-proxy#1715 · 1 commentaire · 5 réactions ·
-
Is this library is dead?Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 15/100
http-party/node-http-proxy#1711 · 2 commentaires ·
-
HTTP3 + QUIC support?Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
http-party/node-http-proxy#1710 · 5 réactions ·
Toutes les issues de http-party/node-http-proxy
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
ImranR98/apps.obtainium.imranr.dev#2000 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
routing: the tray panel's stage stands still with motion reduced while a request is in flightOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
microsoft/monaco-editor#5577 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
obsidianmd/obsidian-help#1169 ·
Les mainteneurs répondent en général sous 2 jours
-
[docs] RELEASE.md: wrong branch name, no check that the prepare PR merged with the right subject, manual publish stepPeut-être pris @albertteoh l’a pris aujourd’hui. Ouvertedocumentation
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
jaegertracing/jaeger-ui#4739 ·
Les mainteneurs répondent en général sous 1 jour