gpt4 book ai didi

dart - 用dart重写请求URI

转载 作者:行者123 更新时间:2023-12-03 03:13:24 24 4
gpt4 key购买 nike

在node.js中,您可以通过执行以下操作来调整请求的网址:

app.use(function(req, res, next) {
if (req.url.slice(-1) === '/') {
req.url = req.url.slice(0, -1);
}
next();
});

由于所有请求属性,Uri及其路径仅具有 setter/getter ,因此以下操作在Dart中失败。有什么建议可以实现吗?也许通过创建一个新的HttpRequest并将其响应传递给原始请求?

void main() {
var virDir = new VirtualDirectory("../somewhere_else");

HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8080).then((server) {
print("Serving at ${server.address}:${server.port}");
server.listen((HttpRequest request) {
request.uri.path = "/newPath";
virDir.serverRequest(request);
});
});
}

最佳答案

从http_server(VirtualDirectory)0.9.3版开始,我向构造函数添加了一个可选的pathPrefix命名参数。

参见http://www.dartdocs.org/documentation/http_server/0.9.3/index.html#http_server/http_server.VirtualDirectory#id_VirtualDirectory-

这样就可以准确地执行您要执行的操作,而无需重写请求的Uri。

关于dart - 用dart重写请求URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24561257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com