package com.hubspot.blazar.util;
import com.hubspot.blazar.config.BlazarConfiguration;
import io.dropwizard.Bundle;
import io.dropwizard.ConfiguredBundle;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
/**
* A Bundle decorator that doesn't install the bundle if running in webhookOnly mode
*/
public class DisableWebhookOnlyBundle implements ConfiguredBundle<BlazarConfiguration> {
private final Bundle delegate;
public DisableWebhookOnlyBundle(Bundle delegate) {
this.delegate = delegate;
}
@Override
public void initialize(Bootstrap<?> bootstrap) {}
@Override
public void run(BlazarConfiguration configuration, Environment environment) throws Exception {
if (!configuration.isWebhookOnly()) {
delegate.run(environment);
}
}
}