有人能给出一个示例代码,说明如何在dart中向HttpServer对象添加请求处理程序吗?
我对dart编程非常陌生,非常感谢您的帮助有人能给出一个示例代码,说明如何在dart中向HttpServer对象添加请求处理程序吗?,dart,Dart,我对dart编程非常陌生,非常感谢您的帮助 void main() { var server = new HttpServer(); server.listen('127.0.0.1', 8080); server. addRequestHandler( accept(HttpRequest function) => acceptInput(request, response), handler); } 我想将下面的函数添加到请求处理程序中。 server.addr
void main() {
var server = new HttpServer();
server.listen('127.0.0.1', 8080);
server.
addRequestHandler(
accept(HttpRequest function) => acceptInput(request, response), handler);
}
我想将下面的函数添加到请求处理程序中。
server.addrequestHandler()
我希望这样做,以便可以添加许多请求处理程序,包括一个用于WebSocket的请求处理程序
一个示例或教程将非常有用
为了简单起见,我想将每个处理程序保留在一个单独的函数中
void acceptInput(HttpRequest request,HttpResponse response){
print(request.connectionInfo.toString());
print(request.queryParameters.toString());
response.outputStream.write('Hello dude'.charCodes);
response.outputStream.close();
}
注意:我知道我的void主代码是错误的,我需要帮助来更正它,以便它包含acceptInput功能。以下是用于提供文件和处理web套接字连接的web服务器的代码:
这回答了你的问题吗?你应该在我的网站上查看一下,它是一个类似Express的web框架,可以放在一个文件中,因此很容易阅读 查看以查看每个方法的正确签名。这是addRequestHandler的API:
abstract addRequestHandler(
bool matcher(HttpRequest request),
void handler(HttpRequest request, HttpResponse response)
)
第一个参数是是否应该处理请求,而第二个参数是在匹配器为true时处理请求的处理程序
因此,Dart中的Http应用程序如下所示:
var server = new HttpServer();
server.addRequestHandler(
(HttpRequest req) => true,
acceptInput);
server.listen('127.0.0.1', 8080);
事实上,你真的很接近 试试这个:
var server = new HttpServer();
server.addRequestHandler(
(req) => req.path == '/save',
handleSave);
server.addRequestHandler(
(req) => req.path == '/delete',
handleDelete);
server.defaultRequestHandler = new StaticFileHandler(basePath).onRequest;
其中handleSave
和handleDelete
只是函数,如:
handleSave(HttpRequest req, HttpResponse resp) {
// ...
}
谢谢,如果我正在使用websocket,bool matcher将使用websocket,处理程序将是我创建的函数。感谢我所寻找的答案:)谢谢,这帮助我创建了不止一个httprequest处理程序。