koa - 来自远程服务器的管道响应时错误的http状态消息

时间:2017-03-17 09:35:09

标签: node.js koa

我有服务器A和服务器B.客户端从服务器A请求文件,服务器A从服务器B获取文件。 当客户端请求存在的文件时,这可以正常工作,但客户端在请求不存在的文件时收到错误的http状态消息。

问题:

当客户端应为“404 Not Found”时,客户端会在状态行中收到“404 OK”。无论我发送什么状态码,状态消息总是“OK”,但客户端总是收到我设置的状态码(301,402等)。 此外,服务器A确实收到正确的状态消息,无论出于何种原因,服务器A似乎传播状态代码,但不传播消息。

服务器代码:

import request from 'request'

context.response.body = request( my_url );

//request( my_url, (error, response, body) =>
//{
//   console.log( "message: " + response.statusMessage );  //prints 'Not Found'
//});

服务器B代码:

context.response.status = 404; 
context.response.message = 'Not Found';
context.response.body = 'Page not found';

我做错了什么?

修改

我找到了一个“解决方案”,但我希望有一个更好的解决方案。 在服务器A中,我将代码更改为:

let stream = request( my_url );

stream.on( 'response', function( response )
{
    context.response.message = response.statusMessage;
});

contest.response.body = stream;

我不能说我对此很满意,因为状态代码被传播而不是消息似乎很愚蠢。

0 个答案:

没有答案
相关问题