@Override public Mutant param(final String name, final String... xss) { return req.param(name, xss); }
private static final GetValue param() { return (req, rsp, chain, param) -> { Mutant mutant = req.param(param.name); if (mutant.isSet() || param.optional) { return mutant.to(param.type); } try { return req.params().to(param.type); } catch (Err ex) { // force parsing return mutant.to(param.type); } }; } }
@Override public Mutant param(final String name) { return req.param(name); }
private static final GetValue param() { return (req, rsp, chain, param) -> { Mutant mutant = req.param(param.name); if (mutant.isSet() || param.optional) { return mutant.to(param.type); } try { return req.params().to(param.type); } catch (Err ex) { // force parsing return mutant.to(param.type); } }; } }
@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) throws Throwable { if (compilationDone.get()) { if (req.param("assets.sync").isSet()) { onChange(StandardWatchEventKinds.ENTRY_MODIFY, basedir); } if (errors.size() > 0) { throw errors.values().iterator().next(); } } else { rsp.type(MediaType.html) .send("<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"UTF-8\">\n" + "<meta http-equiv=\"refresh\" content=\"2\">\n" + "<title>Compiling assets</title>\n" + "</head>\n" + "<body>\n" + "Compiling assets, please wait...\n" + "</body>\n" + "</html>"); } }
@Override public void handle(final Request req, final Response rsp) throws Throwable { HealthCheckRegistry registry = req.require(HealthCheckRegistry.class); SortedMap<String, Result> checks = req.param("name").toOptional().map(name -> { SortedMap<String, Result> set = ImmutableSortedMap.of(name, registry.runHealthCheck(name)); return set; }).orElseGet(() -> registry.runHealthChecks()); final Status status; if (checks.isEmpty()) { status = Status.NOT_IMPLEMENTED; } else { status = checks.values().stream() .filter(it -> !it.isHealthy()) .findFirst() .map(it -> Status.SERVER_ERROR) .orElse(Status.OK); } rsp.status(status) .header("Cache-Control", "must-revalidate,no-cache,no-store") .send(checks); }
@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); } }
} else { String type = req.param("type").value("*"); MetricFilter filter = req.param("name").toOptional() .<MetricFilter> map(name -> (n, m) -> n.startsWith(name)) .orElse(MetricFilter.ALL); TimeUnit unit = TimeUnit.valueOf(req.param("unit").value("seconds").toUpperCase()); String rateUnitLabel = calculateRateUnit(unit, "ops"); double rateFactor = unit.toSeconds(1); double durationFactor = 1.0 / unit.toNanos(1); boolean showSamples = req.param("showSamples").booleanValue(false);
static void install(final Env env, final Config conf) { String path = conf.getString("crash.httpshell.path"); Router router = env.router(); router.get(path + "/{cmd:.*}", router.promise("direct", (req, deferred) -> { MediaType type = req.accepts(MediaType.json) .map(it -> MediaType.json) .orElse(MediaType.html); PluginContext ctx = req.require(PluginContext.class); ShellFactory shellFactory = ctx.getPlugin(ShellFactory.class); Shell shell = shellFactory.create(null); String cmd = req.param("cmd").value().replaceAll("/", " "); ShellProcess process = shell.createProcess(cmd); ShellProcessContext spc = new SimpleProcessContext( result -> deferred.resolve(result.type(type))); process.execute(spc); })); }
String page = Optional.ofNullable(req.param("theme").value(options.theme)) .map(theme -> index .replace("api-console-light-theme.css", "api-console-" + theme + "-theme.css"))
String page = Optional.ofNullable(req.param("theme").value(options.theme)) .map(theme -> index.replace("<style>", "<link rel=\"stylesheet\" " + "type=\"text/css\" href=\"" + fullStaticPath + "theme-" + theme.toLowerCase()
public void handle(final Request req, final Response rsp) throws Throwable { Clients clients = req.require(Clients.class); String clientName = req.param(clients.getClientNameParameter()).value(this.clientName);
@Override public Mutant param(final String name) { return req.param(name); }
@Override public Mutant param(final String name, final String... xss) { return req.param(name, xss); }
Request request = webb .post(Constants.URL + Constants.CUSTOMER_SIGNUP); for (Map.Entry<String, String> entry : params.entrySet()) { request.param(entry.getKey(), entry.getValue()); } Response<String> resp = request.readTimeout(30000) .connectTimeout(30000) .asString();
@Override public Object handle(final Request req) throws Exception { Config conf = req.require(Config.class); String path = conf.getString("application.path"); if (path.endsWith("/")) { path += pattern.substring(1); } else { path += pattern; } String uipath = path; path += req.param("tag").toOptional().map(t -> "/" + t).orElse(""); String html = template.replace("${ui.path}", uipath).replace("${path}", path); return html; }
@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 { /** * 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); } }