home *** CD-ROM | disk | FTP | other *** search
- import java.io.IOException;
- import java.util.Enumeration;
- import javax.servlet.GenericServlet;
- import javax.servlet.ServletException;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpUtils;
-
- public class SnoopServlet extends HttpServlet {
- public void doPost(HttpServletRequest var1, HttpServletResponse var2) throws ServletException, IOException {
- if (var1.getContentLength() > 8192) {
- var2.setContentType("text/html");
- ServletOutputStream var3 = var2.getOutputStream();
- var3.println("<html><head><title>Too big</title></head>");
- var3.println("<body><h1>Error - content length >8k not ");
- var3.println("</h1></body></html>");
- } else {
- this.doGet(var1, var2);
- }
- }
-
- public void doGet(HttpServletRequest var1, HttpServletResponse var2) throws ServletException, IOException {
- var2.setContentType("text/html");
- ServletOutputStream var3 = var2.getOutputStream();
- var3.println("<html>");
- var3.println("<head><title>Snoop Servlet</title></head>");
- var3.println("<body>");
- var3.println("<h1>Requested URL:</h1>");
- var3.println("<pre>");
- var3.println(HttpUtils.getRequestURL(var1).toString());
- var3.println("</pre>");
- Enumeration var4 = ((GenericServlet)this).getServletConfig().getInitParameterNames();
- if (var4 != null) {
- boolean var5 = true;
-
- while(var4.hasMoreElements()) {
- if (var5) {
- var3.println("<h1>Init Parameters</h1>");
- var3.println("<pre>");
- var5 = false;
- }
-
- String var6 = (String)var4.nextElement();
- var3.println(" " + var6 + ": " + ((GenericServlet)this).getInitParameter(var6));
- }
-
- var3.println("</pre>");
- }
-
- var3.println("<h1>Request information:</h1>");
- var3.println("<pre>");
- this.print(var3, "Request method", var1.getMethod());
- this.print(var3, "Request URI", var1.getRequestURI());
- this.print(var3, "Request protocol", var1.getProtocol());
- this.print(var3, "Servlet path", var1.getServletPath());
- this.print(var3, "Path info", var1.getPathInfo());
- this.print(var3, "Path translated", var1.getPathTranslated());
- this.print(var3, "Query string", var1.getQueryString());
- this.print(var3, "Content length", var1.getContentLength());
- this.print(var3, "Content type", var1.getContentType());
- this.print(var3, "Server name", var1.getServerName());
- this.print(var3, "Server port", var1.getServerPort());
- this.print(var3, "Remote user", var1.getRemoteUser());
- this.print(var3, "Remote address", var1.getRemoteAddr());
- this.print(var3, "Remote host", var1.getRemoteHost());
- this.print(var3, "Authorization scheme", var1.getAuthType());
- var3.println("</pre>");
- Enumeration var9 = var1.getHeaderNames();
- if (var9.hasMoreElements()) {
- var3.println("<h1>Request headers:</h1>");
- var3.println("<pre>");
-
- while(var9.hasMoreElements()) {
- String var12 = (String)var9.nextElement();
- var3.println(" " + var12 + ": " + var1.getHeader(var12));
- }
-
- var3.println("</pre>");
- }
-
- var9 = var1.getParameterNames();
- if (var9.hasMoreElements()) {
- var3.println("<h1>Servlet parameters (Single Value style):</h1>");
- var3.println("<pre>");
-
- while(var9.hasMoreElements()) {
- String var13 = (String)var9.nextElement();
- var3.println(" " + var13 + " = " + var1.getParameter(var13));
- }
-
- var3.println("</pre>");
- }
-
- var9 = var1.getParameterNames();
- if (var9.hasMoreElements()) {
- var3.println("<h1>Servlet parameters (Multiple Value style):</h1>");
- var3.println("<pre>");
-
- for(; var9.hasMoreElements(); var3.println("<p>")) {
- String var14 = (String)var9.nextElement();
- String[] var7 = var1.getParameterValues(var14);
- if (var7 != null) {
- var3.print("<b> " + var14 + " = </b>");
- var3.println(var7[0]);
-
- for(int var8 = 1; var8 < var7.length; ++var8) {
- var3.println(" " + var7[var8]);
- }
- }
- }
-
- var3.println("</pre>");
- }
-
- String var15 = var2.getCharacterEncoding();
- var3.println("<h1>Response Information:</h1>");
- var3.println("<pre>");
- var3.println("MIME character encoding: " + var15);
- var3.println("</pre>");
- var3.println("</body></html>");
- }
-
- private void print(ServletOutputStream var1, String var2, String var3) throws IOException {
- var1.print(" " + var2 + ": ");
- var1.println(var3 == null ? "<none>" : var3);
- }
-
- private void print(ServletOutputStream var1, String var2, int var3) throws IOException {
- var1.print(" " + var2 + ": ");
- if (var3 == -1) {
- var1.println("<none>");
- } else {
- var1.println(var3);
- }
- }
-
- public String getServletInfo() {
- return "A servlet that shows the request headers sent by the client";
- }
- }
-