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  
23  import javax.servlet.ServletException;
24  import javax.servlet.http.HttpServlet;
25  import javax.servlet.http.HttpServletRequest;
26  import javax.servlet.http.HttpServletResponse;
27  
28  /**
29   * A simple servlet that allows us to test for HTTP response codes.
30   * 
31   * @author Jevon
32   *
33   */
34  public class ResponseServlet extends HttpServlet {
35  
36      private static final long serialVersionUID = 1L;
37  
38      protected void doGet(HttpServletRequest request,
39              HttpServletResponse response) throws ServletException, IOException {
40      	
41      	// set the status?
42      	if (request.getParameter("status") != null && request.getParameter("status").length() > 0) {
43      		response.setStatus( new Integer(request.getParameter("status")) );
44      	}
45      	
46      	// set the content type?
47      	if (request.getParameter("content-type") != null && request.getParameter("content-type").length() > 0) {
48      		response.setContentType( request.getParameter("content-type") );
49      	}
50      	
51      	// wait for a timeout?
52      	if (request.getParameter("timeout") != null && request.getParameter("timeout").length() > 0) {
53      		int seconds = Integer.parseInt(request.getParameter("timeout"));
54      		long start = System.currentTimeMillis();
55      		while (System.currentTimeMillis() < start + (seconds * 1000)) {
56      		    try {
57                      Thread.sleep(1000);
58                  } catch (InterruptedException e) {
59                      continue;
60                  }
61              }
62      	}
63      	
64      	// lets set some headers
65      	response.setHeader("Test", "test2");
66      	response.setHeader("Header-Added", new java.util.Date().toString());
67      	
68      	response.getWriter().println("hello, world!");
69          
70      }
71  
72  }