]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-21559 Fix SSF-553
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Thu, 1 Feb 2024 09:53:08 +0000 (10:53 +0100)
committersonartech <sonartech@sonarsource.com>
Thu, 1 Feb 2024 20:02:46 +0000 (20:02 +0000)
server/sonar-web/src/main/js/api/settings.ts
server/sonar-webserver-webapi/src/main/java/org/sonar/server/setting/ws/EncryptAction.java
server/sonar-webserver-webapi/src/test/java/org/sonar/server/setting/ws/EncryptActionTest.java
sonar-ws/src/main/java/org/sonarqube/ws/client/settings/SettingsService.java

index bfcaddbf1b1298b37d1ef3ceacc435d6309eab72..981f1202ce1730afdf990fb764efdc459e61f98f 100644 (file)
@@ -20,7 +20,7 @@
 import { omitBy } from 'lodash';
 import { isCategoryDefinition } from '../apps/settings/utils';
 import { throwGlobalError } from '../helpers/error';
-import { getJSON, post, RequestData } from '../helpers/request';
+import { getJSON, post, postJSON, RequestData } from '../helpers/request';
 import { BranchParameters } from '../types/branch-like';
 import {
   ExtendedSettingDefinition,
@@ -109,7 +109,7 @@ export function generateSecretKey(): Promise<{ secretKey: string }> {
 }
 
 export function encryptValue(value: string): Promise<{ encryptedValue: string }> {
-  return getJSON('/api/settings/encrypt', { value }).catch(throwGlobalError);
+  return postJSON('/api/settings/encrypt', { value }).catch(throwGlobalError);
 }
 
 export function getLoginMessage(): Promise<{ message: string }> {
index 863eaef4e04834fb150d8912fb9f22cfbb06403b..b41359cc4eddbdfb15dab1c97ea73e40b1875eca 100644 (file)
@@ -21,6 +21,7 @@ package org.sonar.server.setting.ws;
 
 import org.sonar.api.config.internal.Encryption;
 import org.sonar.api.config.internal.Settings;
+import org.sonar.api.server.ws.Change;
 import org.sonar.api.server.ws.Request;
 import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
@@ -46,9 +47,11 @@ public class EncryptAction implements SettingsWsAction {
       .setDescription("Encrypt a setting value.<br>" +
         "Requires 'Administer System' permission.")
       .setSince("6.1")
+      .setPost(true)
       .setHandler(this)
       .setInternal(true)
-      .setResponseExample(getClass().getResource("encrypt-example.json"));
+      .setResponseExample(getClass().getResource("encrypt-example.json"))
+      .setChangelog(new Change("9.9.4", "Move from GET to POST."));
 
     action.createParam(PARAM_VALUE)
       .setRequired(true)
index 2c53a6aebb5c11331307487ad3136c3f1a808941..c8cbcd43aa6b5f406fecd0e9334527e73ec7a1df 100644 (file)
@@ -76,7 +76,7 @@ public class EncryptActionTest {
     WebService.Action definition = ws.getDef();
 
     assertThat(definition.key()).isEqualTo("encrypt");
-    assertThat(definition.isPost()).isFalse();
+    assertThat(definition.isPost()).isTrue();
     assertThat(definition.isInternal()).isTrue();
     assertThat(definition.responseExampleAsString()).isNotEmpty();
     assertThat(definition.params()).hasSize(1);
index bdb60cf61a7f6ab1920cd89309c8652c198395d5..cbe98cb3c277fbb3f40dfddb603fb6ecc5f5fb1b 100644 (file)
@@ -64,7 +64,7 @@ public class SettingsService extends BaseService {
    */
   public EncryptWsResponse encrypt(EncryptRequest request) {
     return call(
-      new GetRequest(path("encrypt"))
+      new PostRequest(path("encrypt"))
         .setParam("value", request.getValue()),
       EncryptWsResponse.parser());
   }