All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.mstream.trader.simulation.handlers.RootChain Maven / Gradle / Ivy

package io.mstream.trader.simulation.handlers;


import io.mstream.trader.simulation.handlers.api.Api;
import io.mstream.trader.simulation.handlers.monitoring.Monitoring;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ratpack.func.Action;
import ratpack.handling.Chain;
import ratpack.handling.RequestLogger;

import javax.inject.Inject;


public class RootChain
        implements Action {

    private static final Logger LOGGER = LoggerFactory.getLogger(RootChain.class);

    private final Action monitoringChain;
    private final Action apiChain;

    @Inject
    public RootChain(
            @Monitoring Action monitoringChain,
            @Api Action apiChain
    ) {
        this.monitoringChain = monitoringChain;
        this.apiChain = apiChain;
    }

    @Override
    public void execute(Chain chain)
            throws Exception {
        chain.all(RequestLogger.ncsa(LOGGER))
                .prefix("monitoring", monitoringChain)
                .prefix("api", apiChain);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy