##### Coverage Report - org.apache.any23.servlet.RedirectServlet

Classes in this File | Line Coverage | Branch Coverage | Complexity
RedirectServlet |
0% | 0/13
0% | 0/8
| 4.0;4

1 |  |
     /*
2 |  |
      * Licensed to the Apache Software Foundation (ASF) under one or more
3 |  |
      * contributor license agreements.  See the NOTICE file distributed with
4 |  |
      * this work for additional information regarding copyright ownership.
5 |  |
      * The ASF licenses this file to You under the Apache License, Version 2.0
6 |  |
      * (the "License"); you may not use this file except in compliance with
7 |  |
      * the License.  You may obtain a copy of the License at
8 |  |
      *
9 |  |
      *  http://www.apache.org/licenses/LICENSE-2.0
10 |  |
      *
11 |  |
      * Unless required by applicable law or agreed to in writing, software
12 |  |
      * distributed under the License is distributed on an "AS IS" BASIS,
13 |  |
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 |  |
      * See the License for the specific language governing permissions and
15 |  |
      * limitations under the License.
16 |  |
      */
17 |  |
18 |  |
     package org.apache.any23.servlet;
19 |  |
20 |  |
     import javax.servlet.ServletException;
21 |  |
     import javax.servlet.http.HttpServlet;
22 |  |
     import javax.servlet.http.HttpServletRequest;
23 |  |
     import javax.servlet.http.HttpServletResponse;
24 |  |
     import java.io.IOException;
25 |  |
26 |  |
     /**
27 |  |
      * This servlet contains the logic to perform the correct redirects
28 |  |
      * when <i>Any23</i> is used as a all-in-one web application.
29 |  |
      *
30 |  |
      * @author Davide Palmisano ( palmisano@fbk.eu )
31 |  |
      */
32 | 0 |
     public class RedirectServlet extends HttpServlet {
33 |  |
34 |  |
         protected void doPost(HttpServletRequest request, HttpServletResponse response)
35 |  |
         throws ServletException, IOException {
36 | 0 |
             doGet(request, response);
37 | 0 |
         }
38 |  |
39 |  |
         protected void doGet(HttpServletRequest request, HttpServletResponse response)
40 |  |
         throws ServletException, IOException {
41 |  |
             // Show /resources/form.html for GET requests to the app's root
42 | 0 |
             final String pathInfo = request.getPathInfo();
43 | 0 |
             final String queryString = request.getQueryString();
44 |  |
45 | 0 |
             if (("/".equals(pathInfo) && queryString == null)) {
46 | 0 |
                 getServletContext().getRequestDispatcher("/resources/form.html").forward(request, response);
47 | 0 |
                 return;
48 |  |
             }
49 |  |
             // forward requests to /resources/* to the default servlet, this is
50 |  |
             // where we can put static files
51 | 0 |
             if (pathInfo.startsWith("/resources/")) {
52 | 0 |
                 getServletContext().getNamedDispatcher("default").forward(request, response);
53 | 0 |
                 return;
54 |  |
             }
55 |  |
56 | 0 |
             response.sendRedirect(
57 |  |
                     request.getContextPath() + "/any23" +
58 |  |
                             request.getPathInfo() +
59 |  |
                             (queryString == null ? "" : "?" + queryString)
60 |  |
             );
61 | 0 |
         }
62 |  |
     }