You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by og...@apache.org on 2002/12/18 20:58:55 UTC

cvs commit: jakarta-commons/httpclient/src/test-webapp/src/org/apache/commons/httpclient BasicAuthServlet.java

oglueck     2002/12/18 11:58:55

  Modified:    httpclient/src/test-webapp/src/org/apache/commons/httpclient
                        BasicAuthServlet.java
  Log:
  Extended to correctly server HEAD requests.
  
  Revision  Changes    Path
  1.3       +58 -35    jakarta-commons/httpclient/src/test-webapp/src/org/apache/commons/httpclient/BasicAuthServlet.java
  
  Index: BasicAuthServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/test-webapp/src/org/apache/commons/httpclient/BasicAuthServlet.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BasicAuthServlet.java	4 Oct 2001 17:49:14 -0000	1.2
  +++ BasicAuthServlet.java	18 Dec 2002 19:58:55 -0000	1.3
  @@ -69,7 +69,7 @@
   
   public class BasicAuthServlet extends MultiMethodServlet {
       // rather then make this servlet depend upon a base64 impl,
  -    // we'll just hard code some base65 encodings
  +    // we'll just hard code some base64 encodings
       private static final HashMap creds = new HashMap();
       static {
           creds.put("dW5hbWU6cGFzc3dk","uname:passwd");
  @@ -80,44 +80,67 @@
       protected void genericService(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
           String auth = request.getHeader("authorization");
           if(null == auth) {
  -            response.setStatus(response.SC_UNAUTHORIZED);
  -            response.addHeader("www-authenticate","Basic realm=\"BasicAuthServlet\"");
  -            PrintWriter out = response.getWriter();
  -            response.setContentType("text/html");
  -            out.println("<html>");
  -            out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  -            out.println("<body>");
  -            out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  -            out.println("<p>Not authorized.</p>");
  -            out.println("</body>");
  -            out.println("</html>");
  +            sendUnauthenticated(request, response);
           } else {
               String role = (String)(creds.get(auth.substring("basic ".length(),auth.length())));
               if(null == role) {
  -                response.setStatus(response.SC_UNAUTHORIZED);
  -                response.addHeader("www-authenticate","Basic realm=\"BasicAuthServlet\"");
  -                PrintWriter out = response.getWriter();
  -                response.setContentType("text/html");
  -                out.println("<html>");
  -                out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  -                out.println("<body>");
  -                out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  -                out.println("<p>Not authorized. \"" + auth + "\" not recognized.</p>");
  -                out.println("</body>");
  -                out.println("</html>");
  +                sendUnauthorized(request, response, auth);
               } else {
  -                response.setContentType("text/html");
  -                PrintWriter out = response.getWriter();
  -                out.println("<html>");
  -                out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  -                out.println("<body>");
  -                out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  -                out.println("<p>You have authenticated as \"" + role + "\"</p>");
  -                out.println("</body>");
  -                out.println("</html>");
  +                sendAuthorized(request, response, role);
               }
           }
  +    }
  +
  +    protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  +        String auth = request.getHeader("authorization");
  +        if(null == auth) {
  +            sendUnauthenticated(request, response);
  +        } else {
  +            String role = (String)(creds.get(auth.substring("basic ".length(),auth.length())));
  +            if(null == role) {
  +                sendUnauthorized(request, response, auth);
  +            }
  +        }
  +    }
  +
  +    private void sendUnauthenticated(HttpServletRequest request, HttpServletResponse response) throws IOException {
  +        response.setStatus(response.SC_UNAUTHORIZED);
  +        response.addHeader("www-authenticate","Basic realm=\"BasicAuthServlet\"");
  +        PrintWriter out = response.getWriter();
  +        response.setContentType("text/html");
  +        out.println("<html>");
  +        out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  +        out.println("<body>");
  +        out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  +        out.println("<p>Not authorized.</p>");
  +        out.println("</body>");
  +        out.println("</html>");
  +    }
  +
  +    private void sendUnauthorized(HttpServletRequest request, HttpServletResponse response, String auth) throws IOException {
  +        response.setStatus(response.SC_UNAUTHORIZED);
  +        response.addHeader("www-authenticate","Basic realm=\"BasicAuthServlet\"");
  +        PrintWriter out = response.getWriter();
  +        response.setContentType("text/html");
  +        out.println("<html>");
  +        out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  +        out.println("<body>");
  +        out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  +        out.println("<p>Not authorized. \"" + auth + "\" not recognized.</p>");
  +        out.println("</body>");
  +        out.println("</html>");
  +    }
   
  +    private void sendAuthorized(HttpServletRequest request, HttpServletResponse response, String role) throws IOException {
  +        response.setContentType("text/html");
  +        PrintWriter out = response.getWriter();
  +        out.println("<html>");
  +        out.println("<head><title>BasicAuth Servlet: " + request.getMethod() + "</title></head>");
  +        out.println("<body>");
  +        out.println("<p>This is a response to an HTTP " + request.getMethod() + " request.</p>");
  +        out.println("<p>You have authenticated as \"" + role + "\"</p>");
  +        out.println("</body>");
  +        out.println("</html>");
       }
   }
   
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>