handle method
Implementation
dynamic handle(HttpRequest req) async {
try {
// preflight
if (req.method == 'OPTIONS') {
req.response.statusCode = HttpStatus.ok;
return req.response.close();
}
RouteData? route = getMatchRoute(req.uri.path, req.method);
if (route == null) {
return _routeNotFound(req);
}
var doxReq = await DoxRequest.httpRequestToDoxRequest(req, route);
// if controller is a Function
if (route.controllers is Function) {
return await _handleController(route.controllers, doxReq, req);
}
// if list controller
if (route.controllers is List) {
return await _handleListController(route, doxReq, req);
}
return RouterResponse.send(route.controllers, req);
} catch (error) {
req.response.write(error.toString());
req.response.close();
print(error);
}
}