Skip to content

Commit

Permalink
Inject RoutingTargetHandler
Browse files Browse the repository at this point in the history
  • Loading branch information
willmostly authored and ebyhr committed Sep 27, 2024
1 parent 12ccb3b commit 1762e02
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import io.trino.gateway.ha.clustermonitor.ForMonitor;
import io.trino.gateway.ha.config.HaGatewayConfiguration;
import io.trino.gateway.ha.handler.ProxyHandlerStats;
import io.trino.gateway.ha.handler.RoutingTargetHandler;
import io.trino.gateway.ha.module.RouterBaseModule;
import io.trino.gateway.ha.module.StochasticRoutingManagerProvider;
import io.trino.gateway.ha.resource.EntityEditorResource;
Expand Down Expand Up @@ -119,6 +120,7 @@ public void configure(Binder binder)
registerAuthFilters(binder);
registerResources(binder);
registerProxyResources(binder);
jaxrsBinder(binder).bind(RoutingTargetHandler.class);
addManagedApps(this.haGatewayConfiguration, binder);
jaxrsBinder(binder).bind(AuthorizedExceptionMapper.class);
binder.bind(ProxyHandlerStats.class).in(Scopes.SINGLETON);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@
*/
package io.trino.gateway.ha.handler;

import com.google.inject.Inject;
import io.airlift.log.Logger;
import io.trino.gateway.ha.config.GatewayCookieConfigurationPropertiesProvider;
import io.trino.gateway.ha.config.HaGatewayConfiguration;
import io.trino.gateway.ha.router.GatewayCookie;
import io.trino.gateway.ha.router.RoutingGroupSelector;
import io.trino.gateway.ha.router.RoutingManager;
Expand Down Expand Up @@ -47,16 +49,16 @@ public class RoutingTargetHandler
private final List<Pattern> extraWhitelistPaths;
private final boolean cookiesEnabled;

@Inject
public RoutingTargetHandler(
RoutingManager routingManager,
RoutingGroupSelector routingGroupSelector,
List<String> statementPaths,
List<String> extraWhitelistPaths)
HaGatewayConfiguration haGatewayConfiguration)
{
this.routingManager = requireNonNull(routingManager);
this.routingGroupSelector = requireNonNull(routingGroupSelector);
this.statementPaths = requireNonNull(statementPaths);
this.extraWhitelistPaths = extraWhitelistPaths.stream().map(Pattern::compile).collect(toImmutableList());
this.statementPaths = requireNonNull(haGatewayConfiguration.getStatementPaths());
this.extraWhitelistPaths = requireNonNull(haGatewayConfiguration.getExtraWhitelistPaths()).stream().map(Pattern::compile).collect(toImmutableList());
cookiesEnabled = GatewayCookieConfigurationPropertiesProvider.getInstance().isEnabled();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@
import io.trino.gateway.ha.config.RoutingRulesConfiguration;
import io.trino.gateway.ha.config.RulesExternalConfiguration;
import io.trino.gateway.ha.config.UserConfiguration;
import io.trino.gateway.ha.handler.RoutingTargetHandler;
import io.trino.gateway.ha.router.BackendStateManager;
import io.trino.gateway.ha.router.RoutingGroupSelector;
import io.trino.gateway.ha.router.RoutingManager;
import io.trino.gateway.ha.security.ApiAuthenticator;
import io.trino.gateway.ha.security.AuthorizationManager;
import io.trino.gateway.ha.security.BasicAuthFilter;
Expand Down Expand Up @@ -200,17 +198,4 @@ public RoutingGroupSelector getRoutingGroupSelector()
}
return RoutingGroupSelector.byRoutingGroupHeader();
}

@Provides
@Singleton
public RoutingTargetHandler getRoutingTargetHandler(
RoutingManager routingManager,
RoutingGroupSelector routingGroupSelector)
{
return new RoutingTargetHandler(
routingManager,
routingGroupSelector,
configuration.getStatementPaths(),
configuration.getExtraWhitelistPaths());
}
}

0 comments on commit 1762e02

Please sign in to comment.