Mi servicio envía una solicitud POST con algún cuerpo que viene de un servicio a otro. Trabajos de implementación existentes para la solicitud GET :
var rp = require('request-promise'); public pipe(options: Options, req: Request, res: Response): void { rp(options).pipe(res); } También quería usarlo para solicitudes POST . Desafortunadamente, no funciona cuando paso un cuerpo a options . Se alcanza el método public pipe(options: Options, req: Request, res: Response) , pero no sale ninguna otra solicitud de mi servicio. Sin cuerpo, una solicitud se envía correctamente. Estoy llamando a este método así:
streamFromService( req: Request, res: Response, serviceId: string, servicePath: string, query?: URLSearchParams): void { const forwardHeaders = getForwardHeaders(req); Promise.resolve(this.serviceLookup.lookup(serviceId, req.headers)) // create URL parameter based on the given method parameters .then((url) => query ? { ...url, pathname: servicePath, search: query.toString() } : { ...url, pathname: servicePath } ) // create the URL .then((url: any) => URL.format(url)) // tap(c => console.log('URL>', c)). .then((url) => { req.method.toUpperCase() === 'POST' ? this.httpClient.pipe( {method: 'POST', body: req.body, url: url, headers: forwardHeaders}, req, res ) : this.httpClient.pipe( {url: url, headers: forwardHeaders}, req, res ); } ) // tap(console.log). .tapCatch((err) => console.error('Error for ', serviceId, servicePath, err) );} Lo que vale la pena mencionar es que antes de llamar a pipe() estoy recuperando información de req como para mapear encabezados con req.headers . ¿Hay alguna solución para mi problema al canalizar una solicitud posterior con el cuerpo?