]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8838 WS api/project_tags/set requires POST requests
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Thu, 2 Mar 2017 11:22:16 +0000 (12:22 +0100)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Fri, 3 Mar 2017 10:07:45 +0000 (11:07 +0100)
server/sonar-server/src/main/java/org/sonar/server/projecttag/ws/SetAction.java
server/sonar-server/src/test/java/org/sonar/server/projecttag/ws/SetActionTest.java

index dae6604ebb31b6104054fc5ae1cc15cb0935e309..555cf149519766c1c0b22d6932a74fd01f8ef882 100644 (file)
@@ -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.<br>" +
         "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;
+  }
 }
index 4f7f83eabed2434cf0c4da00ee73e0c27a1295d0..3b2349841e033b95c77240480607ffa0fa58dc6c 100644 (file)
@@ -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();