View Javadoc

1   /**
2    * Copyright (c) 2002-2015, JWebUnit team.
3    *
4    * This file is part of JWebUnit.
5    *
6    * JWebUnit is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Lesser General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * JWebUnit is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with JWebUnit.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package net.sourceforge.jwebunit.tests.util;
20  
21  import java.io.IOException;
22  import java.io.PrintWriter;
23  import java.util.Iterator;
24  import java.util.List;
25  
26  import javax.servlet.ServletException;
27  import javax.servlet.http.HttpServlet;
28  import javax.servlet.http.HttpServletRequest;
29  import javax.servlet.http.HttpServletResponse;
30  
31  import org.apache.commons.fileupload.FileItem;
32  import org.apache.commons.fileupload.FileItemFactory;
33  import org.apache.commons.fileupload.FileUploadException;
34  import org.apache.commons.fileupload.disk.DiskFileItemFactory;
35  import org.apache.commons.fileupload.servlet.ServletFileUpload;
36  
37  /**
38   * Servlet to dump HTTP headers received by server.
39   * @author henryju
40   *
41   */
42  public class HeadersServlet extends HttpServlet {
43  
44      private static final long serialVersionUID = 1L;
45  
46      protected void doGet(HttpServletRequest request,
47              HttpServletResponse response) throws ServletException, IOException {
48          doPost(request, response);
49      }
50  
51      protected void doPost(HttpServletRequest request,
52              HttpServletResponse response) throws ServletException, IOException {
53          response.setContentType("text/html");
54          PrintWriter out = response.getWriter();
55          out.write(HtmlHelper.getStart("Received headers"));
56          out.write("<h1>Received headers</h1>\n<p>Headers are:<br/>");
57          /*
58           * Prints headers as name=[value] separated
59           * by <BR/>
60           */
61          java.util.Enumeration headers = request.getHeaderNames();
62          for (; headers.hasMoreElements();) {
63              String h = headers.nextElement().toString();
64              String v = request.getHeader(h);
65              out.write(h + "=[" + v);
66              if (headers.hasMoreElements()) {
67              	out.write("]<br/>\n");
68              }
69          }
70          out.write("]</p>\n");
71          String ref = request.getHeader("Referer");
72          if (ref == null) {
73              if (request.getParameterValues("myReferer") != null) {
74                  ref = request.getParameterValues("myReferer")[0];
75              }
76          }
77          out.write(HtmlHelper.getLinkParagraph("return", ref));
78          out.write(HtmlHelper.getEnd());
79      }
80  
81  }