Package javango.middleware

Source Code of javango.middleware.CommonMiddleware

package javango.middleware;

//import static javango.i18n.I18NString._;
import javango.core.AnonymousUser;
import javango.http.HttpException;
import javango.http.HttpRequest;
import javango.http.HttpResponse;
import javango.http.HttpResponseRedirect;
import javango.http.SimpleHttpResponse;

/**
* Basic {@link Middleware} class that forces a trailing slash ('/') for all urls and adds an {@link AnonymousUser} to the request
* if request.getUser() returns null
*
* @author johns
*
*/
public class CommonMiddleware extends Middleware {

  @Override
  public HttpResponse processRequest(HttpRequest request) throws HttpException {

    String path = request.getPath();
    if (path.length() > 0 && !path.endsWith("/")) {
      if ("POST".equals(request.getMethod())) {
        return new SimpleHttpResponse("Cannot append trailing slash to POSTed you should update the form.");
      }
      path = request.getContext() + "/" + path + "/";
      return new HttpResponseRedirect(path);
    }
   
    if (request.getUser() == null) {
      request.setUser(new AnonymousUser());
    }
    return super.processRequest(request);
  }

}
TOP

Related Classes of javango.middleware.CommonMiddleware

TOP
Copyright © 2018 www.massapi.com. 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.