package com.dianping.pigeon.console.servlet.json;
import com.dianping.pigeon.console.domain.RequestQualityStatus;
import com.dianping.pigeon.console.servlet.ServiceServlet;
import com.dianping.pigeon.remoting.invoker.route.quality.RequestQualityManager;
import com.dianping.pigeon.remoting.provider.config.ServerConfig;
import com.dianping.pigeon.util.CollectionUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Collections;
/**
* Created by chenchongze on 16/6/28.
*/
public class RequestQualityServlet extends ServiceServlet {
private RequestQualityManager requestQualityManager = RequestQualityManager.INSTANCE;
public RequestQualityServlet(ServerConfig serverConfig, int port) {
super(serverConfig, port);
}
@Override
protected boolean initServicePage(HttpServletRequest request, HttpServletResponse response) throws IOException {
RequestQualityStatus requestQualityStatus = new RequestQualityStatus();
boolean support = requestQualityManager.isEnableRequestQualityRoute();
if (support) {
requestQualityStatus.setSupport(Boolean.TRUE);
if(!CollectionUtils.isEmpty(requestQualityManager.getAddrReqUrlQualities())) {
requestQualityStatus.setAddrReqUrlQualities(requestQualityManager.getAddrReqUrlQualities());
}
}
this.model = requestQualityStatus;
return true;
}
@Override
public String getView() {
return "RequestQuality.ftl";
}
@Override
public String getContentType() {
return "application/json; charset=UTF-8";
}
}