/** * @param entity A result content! * @return A new json result. */ @Nonnull public static Result xml(final Object entity) { return with(entity, 200).type(MediaType.xml); }
/** * Set the content type of this content. * * @param type A content type. * @return This content. */ @Nonnull public Result type(final String type) { return type(MediaType.valueOf(type)); }
/** * @param entity A result content! * @return A new json result. */ @Nonnull public static Result json(final Object entity) { return with(entity, 200).type(MediaType.json); }
@Override public Object handle(final Request req) throws Throwable { Set<Route.Definition> routes = req.require(Route.KEY); WebPageProvider provider = req.require(name, WebPageProvider.class); List<WebPage> pages = routes.stream() .filter(filter) .flatMap(r -> provider.apply(r).stream()) .peek(page -> { String name = page.getName(); if (name.startsWith("/")) { name = name.substring(1); } page.setName(name); }).collect(Collectors.toList()); return Results.ok(gen.apply(pages)).type(MediaType.xml); }
configurer.accept(raml); return Results.ok(raml.toYaml()).type("text/yml"); }); } else { byte[] ramlString = readRaml(options.file); router.get(api, req -> { return Results.ok(ramlString).type("text/yml"); }); .replace("api-console-light-theme.css", "api-console-" + theme + "-theme.css")) .orElse(index); return Results.ok(page).type(MediaType.html); });
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); })); }
return Results.json(Json.mapper().writer().writeValueAsBytes(swagger)); return Results.ok(Yaml.mapper().writer().writeValueAsBytes(swagger)).type("text/yml"); }); } else { return Results.json(Json.mapper().writer().writeValueAsBytes(swagger)); return Results.ok(Yaml.mapper().writer().writeValueAsBytes(swagger)).type("text/yml"); }); + ".css\">\n<style>")) .orElse(index); return Results.ok(page).type(MediaType.html); }); router.get(options.redoc, () -> Results.ok(redoc).type(MediaType.html));
"\n" + "</body>\n" + "</html>").type(MediaType.html));
Optional<MediaType> rtype = finalResult.type(); if (rtype.isPresent()) { type(rtype.get());
/** * @param entity A result content! * @return A new json result. */ @Nonnull public static Result xml(final Object entity) { return with(entity, 200).type(MediaType.xml); }
/** * @param entity A result content! * @return A new json result. */ @Nonnull public static Result json(final Object entity) { return with(entity, 200).type(MediaType.json); }
/** * Set the content type of this content. * * @param type A content type. * @return This content. */ @Nonnull public Result type(final String type) { return type(MediaType.valueOf(type)); }
protected Result buildHealthcheckResponse(final HealthStatus healthStatus) { return Results.with(healthStatus.getDetails(), healthStatus.isHealthy() ? Status.OK : Status.SERVICE_UNAVAILABLE) .header(CACHE_CONTROL, DEFAULT_CACHE_CONTROL) .type(MediaType.json); } }
configurer.accept(raml); return Results.ok(raml.toYaml()).type("text/yml"); }); } else { byte[] ramlString = readRaml(options.file); router.get(api, req -> { return Results.ok(ramlString).type("text/yml"); }); .replace("api-console-light-theme.css", "api-console-" + theme + "-theme.css")) .orElse(index); return Results.ok(page).type(MediaType.html); });
return Results.json(Json.mapper().writer().writeValueAsBytes(swagger)); return Results.ok(Yaml.mapper().writer().writeValueAsBytes(swagger)).type("text/yml"); }); } else { return Results.json(Json.mapper().writer().writeValueAsBytes(swagger)); return Results.ok(Yaml.mapper().writer().writeValueAsBytes(swagger)).type("text/yml"); }); + ".css\">\n<style>")) .orElse(index); return Results.ok(page).type(MediaType.html); }); router.get(options.redoc, () -> Results.ok(redoc).type(MediaType.html));
Optional<MediaType> rtype = finalResult.type(); if (rtype.isPresent()) { type(rtype.get());
/** * Publish application routes as Swagger spec. * * @param app An application. */ public void install(final Jooby app) { requireNonNull(app, "Application is required."); ObjectMapper mapper = Json.mapper(); ObjectWriter yaml = Yaml.pretty(); app.use(new SwaggerModule(mapper)); app.get(path + "/swagger.json", path + "/:tag/swagger.json", req -> { SwaggerBuilder sb = req.require(SwaggerBuilder.class); Swagger swagger = sb.build(req.param("tag").toOptional(), predicate, tag, Swagger.class); byte[] json = mapper.writer().withDefaultPrettyPrinter().writeValueAsBytes(swagger); return Results.json(json); }).name("swagger(json)"); app.get(path + "/swagger.yml", path + "/:tag/swagger.yml", req -> { SwaggerBuilder sb = req.require(SwaggerBuilder.class); Swagger swagger = sb.build(req.param("tag").toOptional(), predicate, tag, SwaggerYml.class); byte[] yml = yaml.writeValueAsBytes(swagger); return Results.ok(yml).type("application/yaml"); }).name("swagger(yml)"); if (ui) { app.assets(path + "/ui/**", "/META-INF/resources/webjars/swagger-ui/" + wjversion(app.getClass()) + "/{0}"); app.get(path, path + "/:tag", new SwaggerHandler(path)) .name("swagger(html)") .produces(MediaType.html); } }