@Override public Object resolve(final Object context, final String name) { Object value = null; if (context instanceof Session) { Session session = (Session) context; value = session.isDestroyed() ? null : session.get(name).toOptional().orElse(null); } return value == null ? UNRESOLVED : value; }
@Override public Object get(WebContext context, String key) { return req.ifSession() .map(session -> { String value = session.get(key).toOptional().orElse(null); return strToObject(value); }).orElse(null); }
@Override public Optional<U> get(final String id) throws Exception { Session session = this.session.get(); return get(session.get(key(id)).toOptional()); }
private String profileID(final boolean useSession, final Request req) { return req.<String>ifGet(Auth.ID) .orElseGet(() -> useSession ? req.session().get(Auth.ID).value(null) : null); }
@Override public Object getSessionAttribute(final String name) { Session session = req.session(); return AuthSerializer.strToObject(session.get(name).value(null)); }
@Override public void handle(final Request req, final Response rsp, final Route.Chain chain) throws Throwable { /** * Get or generate a token */ Session session = req.session(); String token = session.get(name).toOptional().orElseGet(() -> { String newToken = generator.apply(req); session.set(name, newToken); return newToken; }); req.set(name, token); if (requireToken.test(req)) { String candidate = req.header(name).toOptional() .orElseGet(() -> req.param(name).toOptional().orElse(null)); if (!token.equals(candidate)) { throw new Err(Status.FORBIDDEN, "Invalid Csrf token: " + candidate); } } chain.next(req, rsp); } }
@Override public Object resolve(final Object context, final String name) { Object value = null; if (context instanceof Session) { Session session = (Session) context; value = session.isDestroyed() ? null : session.get(name).toOptional().orElse(null); } return value == null ? UNRESOLVED : value; }
private String profileID(final boolean useSession, final Request req) { return req.<String>ifGet(Auth.ID) .orElseGet(() -> useSession ? req.session().get(Auth.ID).value(null) : null); }
@Override public Optional<U> get(final String id) throws Exception { Session session = this.session.get(); return get(session.get(key(id)).toOptional()); }
@Override public Object getSessionAttribute(final String name) { Session session = req.session(); return AuthSerializer.strToObject(session.get(name).value(null)); }
@Override public void handle(final Request req, final Response rsp, final Route.Chain chain) throws Throwable { /** * Get or generate a token */ Session session = req.session(); String token = session.get(name).toOptional().orElseGet(() -> { String newToken = generator.apply(req); session.set(name, newToken); return newToken; }); req.set(name, token); if (requireToken.test(req)) { String candidate = req.header(name).toOptional() .orElseGet(() -> req.param(name).toOptional().orElse(null)); if (!token.equals(candidate)) { throw new Err(Status.FORBIDDEN, "Invalid Csrf token: " + candidate); } } chain.next(req, rsp); } }