Skip to content

Commit

Permalink
Review fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
tomas-langer committed Aug 24, 2022
1 parent 67f2a98 commit 61568d8
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,34 +47,38 @@ public static Filters create(List<Filter> filters) {
/**
* Filter request.
*
* @param request request
* @param response response
* @param routingHandler this handler is called after all filters finish processing
* (unless a filter does not invoke the chain)
* @param request request
* @param response response
* @param routingExecutor this handler is called after all filters finish processing
* (unless a filter does not invoke the chain)
*/
public void filter(RoutingRequest request, RoutingResponse response, Runnable routingHandler) {
public void filter(RoutingRequest request, RoutingResponse response, Runnable routingExecutor) {
if (noFilters) {
routingHandler.run();
routingExecutor.run();
return;
}

FilterChain chain = new FilterChainImpl(filters, request, response, routingHandler);
FilterChain chain = new FilterChainImpl(filters, request, response, routingExecutor);
request.path(new FilterRoutedPath(request.prologue().uriPath()));
chain.proceed();
}

private static final class FilterChainImpl implements FilterChain {
private final Iterator<Filter> filters;
private final Runnable routingHandler;
private final Runnable routingExecutor;
private RoutingRequest request;
private RoutingResponse response;

private FilterChainImpl(List<Filter> filters, RoutingRequest request, RoutingResponse response, Runnable routingHandler) {
private FilterChainImpl(List<Filter> filters,
RoutingRequest request,
RoutingResponse response,
Runnable routingExecutor) {
this.filters = filters.iterator();
this.request = request;
this.response = response;
this.routingHandler = routingHandler;
this.routingExecutor = routingExecutor;
}

@Override
public void proceed() {
if (response.hasEntity()) {
Expand All @@ -83,7 +87,7 @@ public void proceed() {
if (filters.hasNext()) {
filters.next().filter(this, request, response);
} else {
routingHandler.run();
routingExecutor.run();
if (!response.isSent()) {
throw HttpException.builder()
.request(request)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ public static HttpRouting empty() {
* @param response routing response
*/
public void route(ConnectionContext ctx, RoutingRequest request, RoutingResponse response) {
RouteExecutor rh = new RouteExecutor(rootRoute, ctx, request, response);
filters.filter(request, response, rh);
RoutingExecutor routingExecutor = new RoutingExecutor(rootRoute, ctx, request, response);
filters.filter(request, response, routingExecutor);
}

@Override
Expand Down Expand Up @@ -278,13 +278,13 @@ public Builder any(String pattern, Handler handler) {
}
}

private static final class RouteExecutor implements Runnable {
private static final class RoutingExecutor implements Runnable {
private final ConnectionContext ctx;
private final RoutingRequest request;
private final RoutingResponse response;
private final ServiceRoute rootRoute;

private RouteExecutor(ServiceRoute rootRoute, ConnectionContext ctx, RoutingRequest request, RoutingResponse response) {
private RoutingExecutor(ServiceRoute rootRoute, ConnectionContext ctx, RoutingRequest request, RoutingResponse response) {
this.rootRoute = rootRoute;
this.ctx = ctx;
this.request = request;
Expand Down

0 comments on commit 61568d8

Please sign in to comment.