如何将传入的http调用传递到dart中的另一个服务器



我有一个正在运行的Dart http服务,如果该服务发布了一个文件,我想将此调用传递给另一个服务。我觉得管道是正确的方式,但我不知道我能做到这一点?!

如果您已经接收到传入请求,则客户机与您的服务器建立了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));
}

管道是命令行shell的一个特性。

当你的服务器接收到一个请求时,它可以向"另一个服务器"创建一个新的请求,并将从传入请求中接收到的数据发送到这个"另一个服务器"。

shelf_proxy可能会帮到你。

相关内容

  • 没有找到相关文章

最新更新