diff -r e4420d2515f1 -r d3477de62514 org.symbian.tools.wrttools/cssvalidator-removed-src/servlet/check.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/org.symbian.tools.wrttools/cssvalidator-removed-src/servlet/check.java Thu Jan 07 13:39:47 2010 -0800 @@ -0,0 +1,105 @@ +// +// $Id: check.java,v 1.14 2009-02-24 21:45:14 ylafon Exp $ +// From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr) +// +// (c) COPYRIGHT MIT and INRIA, 1997. +// Please first read the full copyright statement in file COPYRIGHT.html + +package org.w3c.css.servlet; + +import java.io.IOException; + +import java.net.URLEncoder; + +import java.util.Enumeration; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * This class is a servlet to use the validator. + * + * @version $Revision: 1.14 $ + */ +public final class check extends HttpServlet { + + private static String validatorURI = null; + + + /** + * Performs the HTTP GET operation. + * It redirects to the value contained in "Referer" + * + * @param req encapsulates the request to the servlet. + * @param resp encapsulates the response from the servlet. + * @exception ServletException if the request could not be handled. + * @exception IOException if detected when handling the request. + */ + public void doGet(HttpServletRequest req, HttpServletResponse res) + throws ServletException, IOException + { + + String uri = req.getHeader("Referer"); + String encodeEnc = req.getCharacterEncoding(); + if (encodeEnc == null) { + encodeEnc = "8859_1"; + } + uri = URLEncoder.encode(uri, encodeEnc); + + if (uri == null) { + res.setContentType("text/plain"); + res.sendError(400, "Referer field empty"); + return; + } + res.setHeader("Cache-Control", "max-age=86400"); + res.setHeader("Vary", "Referer"); + + Enumeration e = req.getParameterNames(); + StringBuilder sb = new StringBuilder(validatorURI); + boolean first = true; + boolean uridone = false; + + if (e != null) { + while (e.hasMoreElements()) { + String paramname = (String) e.nextElement(); + String paramvalue = req.getParameter(paramname); + if ("uri".equals(paramname)) { + uridone = true; + paramvalue = uri; + } + if (first) { + sb.append('?'); + first = false; + } else { + sb.append('&'); + } + sb.append(paramname); + if (paramvalue != null) { + sb.append('='); + sb.append(paramvalue); + } + } + } + if (!uridone) { + if (first) { + sb.append("?uri="); + } else { + sb.append("&uri="); + } + sb.append(uri); + } + res.sendRedirect(sb.toString()); + } + + public void init(ServletConfig config) throws ServletException { + super.init(config); + if (config.getInitParameter("validatorURI") == null) { + validatorURI = "validator"; + } else { + validatorURI = config.getInitParameter("validatorURI"); + } + } +}