summaryrefslogtreecommitdiffhomepage
path: root/test/java/path_translation/app.java
blob: ce0b936829ba3b8d981b678b194b6387c900ef34 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

import java.io.IOException;
import java.io.PrintWriter;
import java.io.InputStream;

import java.util.Set;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet( urlPatterns = { "/", "/pt/*" } )
public class app extends HttpServlet
{
    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException
    {
        response.addHeader("X-Request-URI", "" + request.getRequestURI());
        response.addHeader("X-Servlet-Path", "" + request.getServletPath());
        response.addHeader("X-Path-Info", "" + request.getPathInfo());
        response.addHeader("X-Query-String", "" + request.getQueryString());
        response.addHeader("X-Path-Translated", "" + request.getPathTranslated());

        response.setContentType("text/plain; charset=utf-8");

        PrintWriter out = response.getWriter();
        ServletContext ctx = request.getServletContext();

        String path = request.getParameter("path");

        if (path != null) {
            response.addHeader("X-Real-Path", "" + ctx.getRealPath(path));
            response.addHeader("X-Resource", "" + ctx.getResource(path));

            Set<String> paths = ctx.getResourcePaths(path);

            response.addHeader("X-Resource-Paths", "" + paths);

            InputStream is = ctx.getResourceAsStream(path);

            response.addHeader("X-Resource-As-Stream", "" + is);

            if (is != null) {
                final byte[] buf = new byte[1024];
                int r = is.read(buf);

                out.println(new String(buf, 0, r, "utf-8"));
            }
        }
    }
}