diff --git a/src/jetzig/http/Server.zig b/src/jetzig/http/Server.zig index d4fba01..3266dd0 100644 --- a/src/jetzig/http/Server.zig +++ b/src/jetzig/http/Server.zig @@ -248,10 +248,10 @@ fn renderResponse( request.setResponse(rendered_error, .{}); return; }; - } - if (request.rendered_view != null) { - try jetzig.http.middleware.afterView(middleware_data, request); + if (request.rendered_view != null) { + try jetzig.http.middleware.afterView(middleware_data, request, route); + } } if (request.middleware_rendered) |_| { @@ -626,7 +626,7 @@ fn renderErrorView( .content = try template.render( request.response_data, jetzig.TemplateContext, - .{ .request = request, .route = route }, + .{ .request = request, .route = route.* }, .{}, ), }; diff --git a/src/jetzig/http/middleware.zig b/src/jetzig/http/middleware.zig index 25a3c27..df8567d 100644 --- a/src/jetzig/http/middleware.zig +++ b/src/jetzig/http/middleware.zig @@ -86,7 +86,7 @@ pub fn afterRequest(request: *jetzig.http.Request) !MiddlewareData { return middleware_data; } -pub fn afterView(middleware_data: *MiddlewareData, request: *jetzig.http.Request) !void { +pub fn afterView(middleware_data: *MiddlewareData, request: *jetzig.http.Request, route: jetzig.views.Route) !void { request.state = .after_view; inline for (middlewares, 0..) |middleware, index| { @@ -97,13 +97,13 @@ pub fn afterView(middleware_data: *MiddlewareData, request: *jetzig.http.Request try @call( .always_inline, middleware.afterView, - .{ @as(*middleware, @ptrCast(@alignCast(data))), request }, + .{ @as(*middleware, @ptrCast(@alignCast(data))), request, route }, ); } else { try @call( .always_inline, middleware.afterView, - .{request}, + .{ request, route }, ); } }