private static Optional<Locale> findCurrentLanguage(final Http.Context context) { return indexOfLanguageTagInRoutePattern(context) .map(index -> { final String languageTag = context.request().path().split("/")[index]; return Locale.forLanguageTag(languageTag); }); }
@Override public RequestContext get() { final Map<String, List<String>> queryStringWithList = new HashMap<>(); context.request().queryString().forEach((key, arrayValue) -> queryStringWithList.put(key, asList(arrayValue))); return RequestContext.of(queryStringWithList, context.request().path()); } }
//Global.java @Override public Action onRequest(Http.Request request, Method method) { System.out.println(request.path()); return new Action.Simple() { public Result call(Http.Context ctx) throws Throwable { String lastActionTime = ctx.session().get("lastActionTime"); if (lastActionTime != null && sessionExpired(Long.valueOf(lastActionTime))) { ctx.session().clear(); flash("success", "Session expired"); return temporaryRedirect("/login"); } return delegate.call(ctx); } }; } private boolean sessionExpired(Long lastActionTime) { maxSessionTime = Integer.parseInt(Play.application().configuration().getString("maxSessionTime")); return ((System.currentTimeMillis() - lastActionTime) / MILLISECONDS_IN_A_MINUTE) >= maxSessionTime; }
import play.GlobalSettings; import play.libs.F; import play.mvc.Action; import play.mvc.Http; import play.mvc.Result; import java.lang.reflect.Method; public class Global extends GlobalSettings { @Override public Action onRequest(Http.Request request, Method actionMethod) { if (request.path().startsWith("/recommendation") && isNotAuthenticated()) { return new Action.Simple() { @Override public F.Promise<Result> call(Http.Context context) throws Throwable { return F.Promise.pure(redirect("/")); } }; } return super.onRequest(request, actionMethod); } private boolean isNotAuthenticated() { // put your authentication check logic here return true; } }
import play.GlobalSettings; import play.mvc.Action; import play.mvc.Http; import play.mvc.Result; import java.lang.reflect.Method; public class Global extends GlobalSettings { @Override public Action onRequest(final Http.Request request, Method method) { if ("GET".equals(request.method()) && "www.example.com".equals(request.host())) { return new Action.Simple() { public Result call(Http.Context ctx) throws Throwable { return movedPermanently("http://example.com" + request.path()); } }; } return super.onRequest(request, method); } }
@Override public String getPath() { return request.path(); }
@Override public String getPath() { return request.path(); }
@Override public String getPath() { return request.path(); } }
public Action onRequest(final Http.Request request, final Method actionMethod) { if (request.host().equals("de.yourdomain.tld") && (request.cookie("PLAY_LANG") == null || !request.cookie("PLAY_LANG").value().equals("de"))) { return new Action.Simple() { public Result call(Http.Context ctx) throws Throwable { ctx.changeLang("de"); return redirect(request.path()); } }; } else { return super.onRequest(request, actionMethod); } }