| | |
| | | |
| | | import org.apache.http.HttpRequest; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.client.config.RequestConfig; |
| | | import org.apache.http.impl.client.HttpClientBuilder; |
| | | import org.mitre.dsmiley.httpproxy.ProxyServlet; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import javax.servlet.ServletException; |
| | | import javax.servlet.ServletRequest; |
| | | import javax.servlet.ServletResponse; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.ConnectException; |
| | | import java.util.Locale; |
| | | import java.util.Map; |
| | | |
| | | |
| | | @Configuration |
| | |
| | | |
| | | @Bean |
| | | public ServletRegistrationBean zlmServletRegistrationBean(){ |
| | | String ip = StringUtils.isEmpty(mediaConfig.getWanIp())? mediaConfig.getIp(): mediaConfig.getWanIp(); |
| | | ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new ZLMProxySerlet(),"/zlm/*"); |
| | | servletRegistrationBean.setName("zlm_Proxy"); |
| | | servletRegistrationBean.addInitParameter("targetUri", String.format("http://%s:%s", ip, mediaConfig.getHttpPort())); |
| | | servletRegistrationBean.addInitParameter("targetUri", String.format("http://%s:%s", mediaConfig.getIp(), mediaConfig.getHttpPort())); |
| | | servletRegistrationBean.addUrlMappings(); |
| | | if (logger.isDebugEnabled()) { |
| | | servletRegistrationBean.addInitParameter("log", "true"); |
| | | } |
| | |
| | | } |
| | | |
| | | class ZLMProxySerlet extends ProxyServlet{ |
| | | |
| | | |
| | | |
| | | @Override |
| | | protected String rewriteQueryStringFromRequest(HttpServletRequest servletRequest, String queryString) { |
| | | String queryStr = super.rewriteQueryStringFromRequest(servletRequest, queryString); |
| | | if (!StringUtils.isEmpty(queryStr)) { |
| | | queryStr += "&secret=" + mediaConfig.getSecret(); |
| | | }else { |
| | | queryStr = "secret=" + mediaConfig.getSecret(); |
| | | } |
| | | return queryStr; |
| | | } |
| | | |
| | | @Override |
| | | protected void handleRequestException(HttpRequest proxyRequest, HttpResponse proxyResonse, Exception e){ |
| | | System.out.println(e.getMessage()); |