Package org.apache.catalina.authenticator

Examples of org.apache.catalina.authenticator.SavedRequest


     Session session = request.getSessionInternal(false);
     if (session == null)
         return (false);

     // Is there a saved request?
     SavedRequest sreq = (SavedRequest)
         session.getNote(Constants.FORM_REQUEST_NOTE);
     if (sreq == null)
         return (false);

     // Is there a saved principal?
     if (session.getNote(Constants.FORM_PRINCIPAL_NOTE) == null)
         return (false);

     // Does the request URI match?
     String requestURI = request.getRequestURI();
     if (requestURI == null)
         return (false);
     return (requestURI.equals(sreq.getRequestURI()));

   }
View Full Code Here


    */
   @SuppressWarnings("unchecked")
   protected boolean restoreRequest(Request request, Session session)
   {
       // Retrieve and remove the SavedRequest object from our session
       SavedRequest saved = (SavedRequest)
           session.getNote(Constants.FORM_REQUEST_NOTE);
       session.removeNote(Constants.FORM_REQUEST_NOTE);
       session.removeNote(Constants.FORM_PRINCIPAL_NOTE);
       if (saved == null)
           return (false);

       // Modify our current request to reflect the original one
       request.clearCookies();
       Iterator cookies = saved.getCookies();
       while (cookies.hasNext()) {
           request.addCookie((Cookie) cookies.next());
       }

       MimeHeaders rmh = request.getCoyoteRequest().getMimeHeaders();
       rmh.recycle();
       boolean cachable = "GET".equalsIgnoreCase(saved.getMethod()) ||
                          "HEAD".equalsIgnoreCase(saved.getMethod());
       Iterator names = saved.getHeaderNames();
       while (names.hasNext()) {
           String name = (String) names.next();
           // The browser isn't expecting this conditional response now.
           // Assuming that it can quietly recover from an unexpected 412.
           // BZ 43687
           if(!("If-Modified-Since".equalsIgnoreCase(name) ||
                (cachable && "If-None-Match".equalsIgnoreCase(name)))) {
               Iterator values = saved.getHeaderValues(name);
               while (values.hasNext()) {
                   rmh.addValue(name).setString( (String)values.next() );
               }
           }
       }
      
       request.clearLocales();
       Iterator locales = saved.getLocales();
       while (locales.hasNext()) {
           request.addLocale((Locale) locales.next());
       }
      
       request.getCoyoteRequest().getParameters().recycle();
      
       if ("POST".equalsIgnoreCase(saved.getMethod())) {
           ByteChunk body = saved.getBody();
          
           if (body != null) {
               request.getCoyoteRequest().action
                   (ActionCode.ACTION_REQ_SET_BODY_REPLAY, body);
  
               // Set content type
               MessageBytes contentType = MessageBytes.newInstance();
              
               // If no content type specified, use default for POST
               String savedContentType = saved.getContentType();
               if (savedContentType == null) {
                   savedContentType = "application/x-www-form-urlencoded";
               }

               contentType.setString(savedContentType);
               request.getCoyoteRequest().setContentType(contentType);
           }
       }
       request.getCoyoteRequest().method().setString(saved.getMethod());

       request.getCoyoteRequest().queryString().setString
           (saved.getQueryString());

       request.getCoyoteRequest().requestURI().setString
           (saved.getRequestURI());
       return (true);
   }
View Full Code Here

   @SuppressWarnings("unchecked")
   protected void saveRequest(Request request, Session session)
       throws IOException {

       // Create and populate a SavedRequest object for this request
       SavedRequest saved = new SavedRequest();
       Cookie cookies[] = request.getCookies();
       if (cookies != null) {
           for (int i = 0; i < cookies.length; i++)
               saved.addCookie(cookies[i]);
       }
       Enumeration names = request.getHeaderNames();
       while (names.hasMoreElements()) {
           String name = (String) names.nextElement();
           Enumeration values = request.getHeaders(name);
           while (values.hasMoreElements()) {
               String value = (String) values.nextElement();
               saved.addHeader(name, value);
           }
       }
       Enumeration locales = request.getLocales();
       while (locales.hasMoreElements()) {
           Locale locale = (Locale) locales.nextElement();
           saved.addLocale(locale);
       }

       if ("POST".equalsIgnoreCase(request.getMethod())) {
           ByteChunk body = new ByteChunk();
           body.setLimit(request.getConnector().getMaxSavePostSize());

           byte[] buffer = new byte[4096];
           int bytesRead;
           InputStream is = request.getInputStream();
      
           while ( (bytesRead = is.read(buffer) ) >= 0) {
               body.append(buffer, 0, bytesRead);
           }
           saved.setBody(body);
           saved.setContentType(request.getContentType());
       }

       saved.setMethod(request.getMethod());
       saved.setQueryString(request.getQueryString());
       saved.setRequestURI(request.getRequestURI());

       // Stash the SavedRequest in our session for later use
       session.setNote(Constants.FORM_REQUEST_NOTE, saved);
   }
View Full Code Here

    * @param session Our current session
    */
   protected String savedRequestURL(Session session)
   {

       SavedRequest saved =
           (SavedRequest) session.getNote(Constants.FORM_REQUEST_NOTE);
       if (saved == null)
           return (null);
       StringBuffer sb = new StringBuffer(saved.getRequestURI());
       if (saved.getQueryString() != null) {
           sb.append('?');
           sb.append(saved.getQueryString());
       }
       return (sb.toString());

   }
View Full Code Here

      Session session = request.getSessionInternal(false);
      if (session == null)
          return (false);

      // Is there a saved request?
      SavedRequest sreq = (SavedRequest)
          session.getNote(Constants.FORM_REQUEST_NOTE);
      if (sreq == null)
          return (false);

      // Is there a saved principal?
      if (session.getNote(Constants.FORM_PRINCIPAL_NOTE) == null)
          return (false);

      // Does the request URI match?
      String requestURI = request.getRequestURI();
      if (requestURI == null)
          return (false);
      return (requestURI.equals(sreq.getRequestURI()));

    }
View Full Code Here

     * @param session The session containing the saved information
     */
    protected boolean restoreRequest(Request request, Session session) {

        // Retrieve and remove the SavedRequest object from our session
        SavedRequest saved = (SavedRequest)
            session.getNote(Constants.FORM_REQUEST_NOTE);
        session.removeNote(Constants.FORM_REQUEST_NOTE);
        session.removeNote(Constants.FORM_PRINCIPAL_NOTE);
        if (saved == null)
            return (false);

        // Modify our current request to reflect the original one
        request.clearCookies();
        Iterator cookies = saved.getCookies();
        while (cookies.hasNext()) {
            request.addCookie((Cookie) cookies.next());
        }
        request.clearHeaders();
        Iterator names = saved.getHeaderNames();
        while (names.hasNext()) {
            String name = (String) names.next();
            Iterator values = saved.getHeaderValues(name);
            while (values.hasNext()) {
                request.addHeader(name, (String) values.next());
            }
        }
        request.clearLocales();
        Iterator locales = saved.getLocales();
        while (locales.hasNext()) {
            request.addLocale((Locale) locales.next());
        }
        request.clearParameters();
        if ("POST".equalsIgnoreCase(saved.getMethod())) {
            Iterator paramNames = saved.getParameterNames();
            while (paramNames.hasNext()) {
                String paramName = (String) paramNames.next();
                String paramValues[] =
                    saved.getParameterValues(paramName);
                request.addParameter(paramName, paramValues);
            }
        }
        request.setMethod(saved.getMethod());
        request.setQueryString(saved.getQueryString());
        request.setRequestURI(saved.getRequestURI());
        return (true);

    }
View Full Code Here

     * @param session The session to contain the saved information
     */
    private void saveRequest(Request request, Session session) {

        // Create and populate a SavedRequest object for this request
        SavedRequest saved = new SavedRequest();
        Cookie cookies[] = request.getCookies();
        if (cookies != null) {
            for (int i = 0; i < cookies.length; i++)
                saved.addCookie(cookies[i]);
        }
        Enumeration names = request.getHeaderNames();
        while (names.hasMoreElements()) {
            String name = (String) names.nextElement();
            Enumeration values = request.getHeaders(name);
            while (values.hasMoreElements()) {
                String value = (String) values.nextElement();
                saved.addHeader(name, value);
            }
        }
        Enumeration locales = request.getLocales();
        while (locales.hasMoreElements()) {
            Locale locale = (Locale) locales.nextElement();
            saved.addLocale(locale);
        }
        Map parameters = request.getParameterMap();
        Iterator paramNames = parameters.keySet().iterator();
        while (paramNames.hasNext()) {
            String paramName = (String) paramNames.next();
            String paramValues[] = (String[]) parameters.get(paramName);
            saved.addParameter(paramName, paramValues);
        }
        saved.setMethod(request.getMethod());
        saved.setQueryString(request.getQueryString());
        saved.setRequestURI(request.getRequestURI());

        // Stash the SavedRequest in our session for later use
        session.setNote(Constants.FORM_REQUEST_NOTE, saved);

    }
View Full Code Here

     *
     * @param session Our current session
     */
    private String savedRequestURL(Session session) {

        SavedRequest saved =
            (SavedRequest) session.getNote(Constants.FORM_REQUEST_NOTE);
        if (saved == null)
            return (null);
        StringBuffer sb = new StringBuffer(saved.getRequestURI());
        if (saved.getQueryString() != null) {
            sb.append('?');
            sb.append(saved.getQueryString());
        }
        return (sb.toString());

    }
View Full Code Here

      Session session = request.getSessionInternal(false);
      if (session == null)
          return (false);

      // Is there a saved request?
      SavedRequest sreq = (SavedRequest)
          session.getNote(Constants.FORM_REQUEST_NOTE);
      if (sreq == null)
          return (false);

      // Is there a saved principal?
      if (session.getNote(Constants.FORM_PRINCIPAL_NOTE) == null)
          return (false);

      // Does the request URI match?
      String requestURI = request.getRequestURI();
      if (requestURI == null)
          return (false);
      return (requestURI.equals(sreq.getRequestURI()));

    }
View Full Code Here

     * @param session The session containing the saved information
     */
    protected boolean restoreRequest(Request request, Session session) {

        // Retrieve and remove the SavedRequest object from our session
        SavedRequest saved = (SavedRequest)
            session.getNote(Constants.FORM_REQUEST_NOTE);
        session.removeNote(Constants.FORM_REQUEST_NOTE);
        session.removeNote(Constants.FORM_PRINCIPAL_NOTE);
        if (saved == null)
            return (false);

        // Modify our current request to reflect the original one
        request.clearCookies();
        Iterator cookies = saved.getCookies();
        while (cookies.hasNext()) {
            request.addCookie((Cookie) cookies.next());
        }
        request.clearHeaders();
        Iterator names = saved.getHeaderNames();
        while (names.hasNext()) {
            String name = (String) names.next();
            Iterator values = saved.getHeaderValues(name);
            while (values.hasNext()) {
                request.addHeader(name, (String) values.next());
            }
        }
        request.clearLocales();
        Iterator locales = saved.getLocales();
        while (locales.hasNext()) {
            request.addLocale((Locale) locales.next());
        }
        request.clearParameters();
        if ("POST".equalsIgnoreCase(saved.getMethod())) {
            Iterator paramNames = saved.getParameterNames();
            while (paramNames.hasNext()) {
                String paramName = (String) paramNames.next();
                String paramValues[] =
                    saved.getParameterValues(paramName);
                request.addParameter(paramName, paramValues);
            }
        }
        request.setMethod(saved.getMethod());
        request.setQueryString(saved.getQueryString());
        request.setRequestURI(saved.getRequestURI());
        return (true);

    }
View Full Code Here

TOP

Related Classes of org.apache.catalina.authenticator.SavedRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.