From 5956787e24902abdb9d9db2fe712125969c9d263 Mon Sep 17 00:00:00 2001 From: Teryk Bellahsene Date: Thu, 2 Mar 2017 12:22:16 +0100 Subject: [PATCH] SONAR-8838 WS api/project_tags/set requires POST requests --- .../org/sonar/server/projecttag/ws/SetAction.java | 11 ++++++----- .../org/sonar/server/projecttag/ws/SetActionTest.java | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/server/sonar-server/src/main/java/org/sonar/server/projecttag/ws/SetAction.java b/server/sonar-server/src/main/java/org/sonar/server/projecttag/ws/SetAction.java index dae6604ebb3..555cf149519 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/projecttag/ws/SetAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/projecttag/ws/SetAction.java @@ -56,17 +56,13 @@ public class SetAction implements ProjectTagsWsAction { this.userSession = userSession; } - private static String checkTag(String tag) { - checkRequest(tag.matches(VALID_TAG_REGEXP), "Tag '%s' is invalid. Project tags accept only the characters: a-z, 0-9, '+', '-', '#', '.'", tag); - return tag; - } - @Override public void define(WebService.NewController context) { WebService.NewAction action = context.createAction("set") .setDescription("Set tags on a project.
" + "Requires the following permission: 'Administer' rights on the specified project") .setSince("6.4") + .setPost(true) .setHandler(this); action.createParam(PARAM_PROJECT) @@ -102,4 +98,9 @@ public class SetAction implements ProjectTagsWsAction { response.noContent(); } + + private static String checkTag(String tag) { + checkRequest(tag.matches(VALID_TAG_REGEXP), "Tag '%s' is invalid. Project tags accept only the characters: a-z, 0-9, '+', '-', '#', '.'", tag); + return tag; + } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/projecttag/ws/SetActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/projecttag/ws/SetActionTest.java index 4f7f83eabed..3b2349841e0 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/projecttag/ws/SetActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/projecttag/ws/SetActionTest.java @@ -137,6 +137,8 @@ public class SetActionTest { public void definition() { WebService.Action definition = ws.getDef(); + assertThat(definition.isPost()).isTrue(); + assertThat(definition.isInternal()).isFalse(); assertThat(definition.params()).extracting(WebService.Param::key) .containsOnly("project", "tags"); assertThat(definition.description()).isNotEmpty(); -- 2.39.5