package com.taobao.easyweb.core.agent;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
/**
* �����̨�����ܰ���<br>
* 1. ��ؼ��<br>
* 2. App����<br>
*
* ���з��ؽ������json
*
* @author jimmey
*
*/
public class AgentFilter implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
}
@Override
public void destroy() {
}
/**
* curl "localhost:7001/ewagent/deploy"<br>
* curl "localhost:7001/ewagent/undeploy"<br>
*/
@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException {
// HttpServletRequest request = (HttpServletRequest) arg0;
// HttpServletResponse response = (HttpServletResponse) arg1;
// String uri = request.getRequestURI();
// if (!uri.startsWith("/ewagent/")) {
// arg2.doFilter(arg0, arg1);
// return;
// }
// String[] v = uri.split("/");
// Result<String> result = new Result<String>(true);
// if (v.length != 3) {
// result.setSuccess(false);
// result.addErrorMessage("uri error");
// } else {
// try {
// if ("deploy".equals(v[2])) {// ����app
//// String svnurl = getParameter(request, "svnurl");
//// String username = getParameter(request, "username");
//// String password = getParameter(request, "password");
// String appName = getParameter(request, "appName");
// result = AppDeployer.deploy(appName);
// } else if ("undeploy".equals(v[2])) {// �app
// String appName = getParameter(request, "appName");
// String appVersion = getParameter(request, "appVersion");
// result = AppDeployer.undeploy(appName, appVersion);
// } else if ("preload".equals(v[2])) {// �������
// result.setModule("preload_ok");
// } else if ("setVersion".equals(v[2])) {// ����appĬ�ϰ汾
// String appName = getParameter(request, "appName");
// String appVersion = getParameter(request, "appVersion");
// AppContainer.setCurrentVersion(appName, appVersion);
// }
// } catch (Exception e) {
// result.setSuccess(false);
// result.addErrorMessage(e.getMessage());
// }
// }
// String content = new JsonBuilder(result).toString();
// response.setStatus(HttpServletResponse.SC_OK);
// response.setHeader("Content-Length", content.getBytes().length + "");
// response.setHeader("Content-Type", "text/html;charset=gbk");
// IOUtils.copy(new StringReader(content), response.getOutputStream());
// response.getOutputStream().flush();
// response.getOutputStream().close();
}
private String getParameter(HttpServletRequest request, String name) throws Exception {
String value = request.getParameter(name);
if (value == null) {
throw new Exception("param " + name + " is null");
}
return value;
}
}