我正在运行Dart HTTP服务,如果服务获得了一个文件,我想将此调用传递给另一个服务。我认为管道是正确的方法,但我不知道我能做到这一点吗?!
答案 0 :(得分:2)
如果您收到了传入请求,则客户端与您的服务器建立TCP连接。你不能把它转发到另一台服务器。
您可以做的是返回301重定向响应,该响应应该让请求者尝试使用其他服务器。
另一种方法是自己从其他服务器获取数据并将其作为对原始请求的响应提供。您可以使用流管道。
类似的东西:
Future handleRequest(HttpRequest request) {
return new HttpClient() // Or reuse an existing client if it happens often
.getUrl(createOtherServerUrl(request))
.then((newRequest) => newRequest.close())
.then((response) => response.pipe(request.response));
}
答案 1 :(得分:0)