/* * Created on 15.12.2003 * * (c) Stabsstelle IKT-Strategie des Bundes */ package test.at.gv.egovernment.moa.spss.slinterface; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.Properties; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import at.gv.egovernment.moa.spss.slinterface.Constants; import at.gv.egovernment.moa.spss.slinterface.Utils; /** * @author Gregor Karlinger (mailto:gregor.karlinger@cio.gv.at) */ public class RewriteServlet extends HttpServlet { private static Logger logger_ = Logger.getLogger(Constants.LH_TEST_); public RewriteServlet() { super(); } /* ---------------------------------------------------------------------------------------------------- */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { // Read content form POST request try { logger_.debug("Received GET request:"); logger_.debug("Request URI: \"" + request.getRequestURL() + "\""); Properties initProps = (Properties) this.getServletContext().getAttribute(Constants.WSCP_INIT_PROPS_); String paramName = (initProps != null) ? initProps.getProperty(Constants.IP_REW_SLI_URLPARAMNAME_) : null; if (paramName == null || "".equals(paramName)) throw new ServletException("Could not get rewrite parameter name from init properties."); logger_.debug("SLInterface rewrite parameter : \"" + paramName + "\""); String slInterfaceURLStr = request.getParameter(paramName); URL slInterfaceURL = new URL(slInterfaceURLStr); URLConnection slInterfaceURLConn = slInterfaceURL.openConnection(); response.setContentType(slInterfaceURLConn.getContentType()); InputStream slInterfaceIS = slInterfaceURLConn.getInputStream(); OutputStream responseOS = response.getOutputStream(); Utils.transferStreams(slInterfaceIS, responseOS); } catch (Exception e) { String message = "Failed to get answer from SL interface."; logger_.error(message, e); throw new ServletException(message, e); } } }