@Override public Request set(final TypeLiteral<?> type, final Object value) { req.set(type, value); return this; }
@Override public Request set(final String name, final Object value) { req.set(name, value); return this; }
@Override public Request set(final Class<?> type, final Object value) { req.set(type, value); return this; }
@Override public Request set(final Key<?> key, final Object value) { req.set(key, value); return this; }
@Override public void setRequestAttribute(final String name, final Object value) { req.set(name, value); }
@Override public void setRequestAttribute(String name, Object value) { req.set(name, value); }
@SuppressWarnings("rawtypes") private void seed(final Request req, Class type, final Object profile) { while (type != Object.class) { req.set(type, profile); type = type.getSuperclass(); } }
/** * Seed a {@link RequestScoped} object. * * @param type Seed type. * @param value Actual object to bind. * @return Current request. */ @Nonnull default Request set(final TypeLiteral<?> type, final Object value) { return set(Key.get(type), value); }
/** * Seed a {@link RequestScoped} object. * * @param type Object type. * @param value Actual object to bind. * @return Current request. */ @Nonnull default Request set(final Class<?> type, final Object value) { return set(TypeLiteral.get(type), value); }
@Override public void handle(final Request req, final Response rsp) { compiler.fileset().forEach(asset -> { /** Styles */ List<String> css = this.styles.apply(asset); String styles = css.stream().reduce(new StringBuilder(), (buff, it) -> buff.append("<link href=\"") .append(cpath) .append(it) .append("\" rel=\"stylesheet\">\n"), StringBuilder::append) .toString(); req.set(asset + "_css", css); req.set(asset + "_styles", styles); /** Scripts */ List<String> js = this.scripts.apply(asset); String scripts = js.stream().reduce(new StringBuilder(), (buff, it) -> buff.append("<script src=\"") .append(cpath) .append(it) .append("\"></script>\n"), StringBuilder::append) .toString(); req.set(asset + "_js", js); req.set(asset + "_scripts", scripts); }); }
@Override public void handle(final Request req, final Response rsp) throws Throwable { String error = req.param("error").value(""); String username = req.param("username").value(""); req.set("username", username); req.set("error", error); // default login form rsp.type(MediaType.html).send(String.format(FORM, error, callback, username)); }
@Override public void handle(final Request req, final Response rsp, final Chain chain) throws Throwable { String error = req.param("error").toOptional().orElse(""); String username = req.param("username").toOptional().orElse(""); req.set("username", username); req.set("error", error); if (loginUrl.equals(req.path())) { // default login form rsp.type(MediaType.html).send(String.format(FORM, error, callback, username)); } else { super.handle(req, rsp, chain); } }
@Override public void handle(final Request req, final Response rsp, final Route.Chain chain) throws Throwable { Optional<String> value = req.cookie(cname).toOptional(); Map<String, String> source = value.map(decoder::apply) .orElseGet(HashMap::new); FlashMap flashScope = new FlashMap(source); req.set(FlashScope.NAME, flashScope); // wrap & proceed rsp.after(finalizeFlash(source, flashScope)); chain.next(req, rsp); }
@Override public void handle(final Request req, final Response rsp, final Route.Chain chain) throws Throwable { logger.debug("open handle"); Handle handle = jdbi.open(); Optional.ofNullable(trx.configurer).ifPresent(c -> c.accept(handle)); req.set(trx.handle(), handle); logger.debug("new transaction: {}", handle); handle.begin(); rsp.after(new CommitTransaction(handle)); rsp.complete(new RollbackTransaction(handle)); rsp.complete(new CloseHandle(handle)); chain.next(req, rsp); } }
@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); } }
router.assets("/livereload.js", livereloadjs); router.use("*", (req, rsp) -> req.set("liveReload", template(req))) .name("livereload");
if (profile != null) { String id = profile.getId(); req.set(Auth.ID, id); session.set(Auth.ID, id); store.set(profile);
@Override public Request set(final String name, final Object value) { req.set(name, value); return this; }
@Override public Request set(final TypeLiteral<?> type, final Object value) { req.set(type, value); return this; }