//Dstl (c) Crown Copyright 2017
package uk.gov.dstl.baleen.core.web.servlets;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.eclipse.jetty.http.HttpMethod;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import uk.gov.dstl.baleen.core.manager.BaleenManager;
import uk.gov.dstl.baleen.core.web.security.WebPermission;
import com.google.common.net.MediaType;
/**
* Provides the YAML configuration information used to create the Baleen
* instance.
*
* Requires users to have 'config.manager' role.
*
*
*
*/
public class BaleenManagerConfigServlet extends AbstractApiServlet {
private static final Logger LOGGER = LoggerFactory.getLogger(PipelineConfigServlet.class);
private static final long serialVersionUID = 1L;
private final transient BaleenManager manager;
/**
* New instance, getting configuration from the baleen manager.
*
* @param manager
* the manager to supply configuration from.
*/
public BaleenManagerConfigServlet(BaleenManager manager) {
super(LOGGER, BaleenManagerConfigServlet.class);
this.manager = manager;
}
@Override
public WebPermission[] getPermissions() {
return new WebPermission[] { new WebPermission("Configuration of baleen", HttpMethod.GET, "config.manager") };
}
@Override
protected void get(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
respond(resp, MediaType.PLAIN_TEXT_UTF_8, manager.getYaml());
}
}