@Override public void define(NewController context) { context.createAction("exporters") .setDescription("Lists available profile export formats.") .setHandler(this) .setResponseExample(getClass().getResource("exporters-example.json")) .setSince("5.2"); }
@Override public void define(WebService.NewController context) { context.createAction("domains") .setDescription("List all custom metric domains.") .setSince("5.2") .setResponseExample(getClass().getResource("example-domains.json")) .setHandler(this); }
@Override public void define(WebService.NewController controller) { controller.createAction("upgrades") .setDescription("Lists available upgrades for the SonarQube instance (if any) and for each one, " + "lists incompatible plugins and plugins requiring upgrade." + "<br/>" + "Plugin information is retrieved from Update Center. Date and time at which Update Center was last refreshed " + "is provided in the response.") .setSince("5.2") .setHandler(this) .setResponseExample(Resources.getResource(this.getClass(), "example-upgrades_plugins.json")); }
@Override public void define(NewController context) { WebService.NewAction action = context.createAction(ACTION_DELETE) .setSince("7.1") .setDescription("Delete a pull request.<br/>" + "Requires 'Administer' rights on the specified project.") .setPost(true) .setHandler(this); addProjectParam(action); addPullRequestParam(action); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction(ACTION_SEARCH) .setDescription("Search for the authenticated user favorites.<br>" + "Requires authentication.") .setSince("6.3") .setResponseExample(getClass().getResource("search-example.json")) .setHandler(this); action.addPagingParams(100, MAX_PAGE_SIZE); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("add_project_creator_to_template") .setDescription("Add a project creator to a permission template.<br>" + "Requires the following permission: 'Administer System'.") .setSince("6.0") .setPost(true) .setHandler(this); createTemplateParameters(action); wsParameters.createProjectPermissionParameter(action); }
@Override public void define(WebService.NewController controller) { controller.createAction(LOGOUT_ACTION) .setDescription("Logout a user.") .setSince("6.3") .setPost(true) .setHandler(ServletFilterHandler.INSTANCE); }
@Override public void define(WebService.NewController controller) { controller.createAction("info") .setDescription("Gets information about Compute Engine. Requires the system administration permission or " + "system passcode (see " + SystemPasscodeImpl.PASSCODE_CONF_PROPERTY + " in sonar.properties).") .setSince("7.2") .setInternal(true) .setHandler(this) .setResponseExample(getClass().getResource("info-example.json")); }
@Override public void define(WebService.NewController context) { context.createAction("index") .setInternal(true) .setSince("4.4") .setDescription("List the JAR files to be downloaded by scanners") .setHandler(this) .setResponseExample(getClass().getResource("index-example.txt")); }
@Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction(ACTION_LIST) .setSince("6.6") .setDescription("List the branches of a project.<br/>" + "Requires 'Browse' or 'Execute analysis' rights on the specified project.") .setResponseExample(Resources.getResource(getClass(), "list-example.json")) .setChangelog(new Change("7.2", "Application can be used on this web service")) .setHandler(this); addProjectParam(action); }
@Override public void define(WebService.NewController context) { context.createAction("fake") .setHandler(this); }
private static WebService newClientAbortWs() { return newWs("api/foo", a -> a.setHandler((req, resp) -> { throw new ClientAbortException(); })); }
private static WebService newFailWs() { return newWs("api/foo", a -> a.setHandler((req, resp) -> { throw new IllegalStateException("BOOM"); })); }
@Test public void use_request_parameter_on_parameter_with_default_value() { Request request = new TestRequest().setPath("api/print").setParam("message", "bar"); DumbResponse response = run(request, newWs("api/print", a -> { a.createParam("message").setDefaultValue("default_value"); a.setHandler((req, resp) -> resp.stream().output().write(req.param("message").getBytes(UTF_8))); })); assertThat(response.stream().outputAsString()).isEqualTo("bar"); assertThat(response.stream().status()).isEqualTo(200); }
@Override public void define(WebService.NewController context) { context.createAction("check_secret_key") .setDescription("Check if a secret key is available.<br>" + "Requires the 'Administer System' permission.") .setSince("6.1") .setInternal(true) .setResponseExample(getClass().getResource("check_secret_key-example.json")) .setHandler(this); }
@Override public void define(WebService.NewController controller) { controller.createAction("resume") .setDescription("Resumes pause of Compute Engine workers. Requires the system administration permission or " + "system passcode (see " + SystemPasscodeImpl.PASSCODE_CONF_PROPERTY + " in sonar.properties).") .setSince("7.2") .setInternal(true) .setHandler(this) .setPost(true); }
private NewAction newDefaultAction(NewController controller, String actionKey) { return controller.createAction(actionKey) .setDescription("default description") .setSince("5.3") .setResponseExample(getClass().getResource("WebServiceTest/response-example.txt")) .setHandler(mock(RequestHandler.class)); } }
@Override public void define(WebService.NewController context) { context.createAction(ACTION_SKIP_ONBOARDING_TUTORIAL) .setPost(true) .setInternal(true) .setDescription("Stores that the user has skipped the onboarding tutorial and does not want to see it after future logins.<br/>" + "Requires authentication.") .setSince("6.5") .setHandler(this); }
@Override public void define(WebService.NewController controller) { controller.createAction("marketplace") .setSince("7.2") .setPost(false) .setDescription("Provide data to prefill license request forms: the server ID and the total number of lines of code.") .setResponseExample(getClass().getResource("marketplace-example.json")) .setInternal(true) .setHandler(this); }
private static void defineIndexAction(NewController controller) { controller.createAction("index") .setDescription("This web service is removed") .setSince("2.6") .setDeprecatedSince("6.3") .setHandler(RemovedWebServiceHandler.INSTANCE) .setResponseExample(RemovedWebServiceHandler.INSTANCE.getResponseExample()); }