Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * JBoss, Home of Professional Open Source.
  * Copyright 2012, Red Hat, Inc., and individual contributors
  * as indicated by the @author tags. See the copyright.txt file in the
  * distribution for a full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
package org.picketbox.http.authentication;

This class maintains a cache of SavedRequest instances created from javax.servlet.http.HttpServletRequest instances. This class is to be used during authentication to help to retrieve previous informations from the request made for the first time before the authentication process begins. It also stores the cached request in the user session for later use, if necessary.

Author(s):
Pedro Silva
public class RequestCache {

Saves a javax.servlet.http.HttpServletRequest as a SavedRequest instance. All the state from the original request will be copied.

Parameters:
request
    public void saveRequest(HttpServletRequest request) {
        .put(getCurrentSession(request).getId(), new SavedRequest(request));
    }

    

Returns the user session. If no session was created a exception is raised. A valid session must exist before invoking this method.

    private HttpSession getCurrentSession(HttpServletRequest request) {
        HttpSession session = request.getSession(true);
        if (session == null) {
            throw new IllegalStateException("Unable to cache the request. User session was not created.");
        }
        return session;
    }

    

Removes a cached request and stores it in the session.

        HttpSession session = getCurrentSession(request);
        SavedRequest savedRequest = this..remove(session.getId());
        session.setAttribute(.savedRequest);
        return savedRequest;
    }
New to GrepCode? Check out our FAQ X