Fetch the repository succeeded.
package com.free.bsf.health.filter;
import com.free.bsf.core.base.BsfApplicationStatus;
import com.free.bsf.core.util.ContextUtils;
import com.free.bsf.health.dump.DumpProvider;
import lombok.val;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 状态服务
* @author: chejiangyi
* @version: 2019-09-07 13:31
**/
public class StatusFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
val request = (HttpServletRequest) servletRequest;
val response = (HttpServletResponse) servletResponse;
val contextPath = org.springframework.util.StringUtils.trimTrailingCharacter(request.getContextPath(),'/');
val uri = request.getRequestURI();
String path = contextPath+"/bsf/health/status/";
if(uri.startsWith(path)){
if(uri.startsWith(path+"get/")) {
writeText(response,BsfApplicationStatus.Current.name());
}else if(uri.startsWith(path+"isRunning/")) {
if(!BsfApplicationStatus.StatusEnum.RUNNING.equals(BsfApplicationStatus.Current)) {
response.setStatus(404);
response.getWriter().flush();
response.getWriter().close();
}else {
writeText(response,BsfApplicationStatus.Current.name());
}
}
}else{
chain.doFilter(servletRequest,servletResponse);
}
}
private void writeText(HttpServletResponse response,String text) throws IOException{
response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().append(text);
response.getWriter().flush();
response.getWriter().close();
}
@Override
public void destroy() {
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。