diff options
author | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2014-01-29 15:52:14 +0100 |
---|---|---|
committer | Jean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com> | 2014-01-29 15:52:27 +0100 |
commit | 55a3c42c91b46a02ea5fe98425f14a2892c956cf (patch) | |
tree | b79013e26cb774d4a2a96618a1574ed322c6b0a9 | |
parent | 9a37480a156494a1486b6fa13b7f0d6c6f71fa19 (diff) | |
download | sonarqube-55a3c42c91b46a02ea5fe98425f14a2892c956cf.tar.gz sonarqube-55a3c42c91b46a02ea5fe98425f14a2892c956cf.zip |
SONAR-5010 Push parsed parameters from Rails to WS handlers (workaround for missing parameters in request)
-rw-r--r-- | sonar-server/src/main/java/org/sonar/server/ws/ServletRequest.java | 12 | ||||
-rw-r--r-- | sonar-server/src/main/webapp/WEB-INF/app/controllers/api/java_ws_controller.rb | 2 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/ws/ServletRequest.java b/sonar-server/src/main/java/org/sonar/server/ws/ServletRequest.java index cd3d5d8b7a5..d7e56961ac7 100644 --- a/sonar-server/src/main/java/org/sonar/server/ws/ServletRequest.java +++ b/sonar-server/src/main/java/org/sonar/server/ws/ServletRequest.java @@ -21,12 +21,16 @@ package org.sonar.server.ws; import javax.servlet.http.HttpServletRequest; +import java.util.Map; + public class ServletRequest extends InternalRequest { private final HttpServletRequest source; + private final Map<String, String> params; - public ServletRequest(HttpServletRequest source) { + public ServletRequest(HttpServletRequest source, Map<String, String> params) { this.source = source; + this.params = params; } @Override @@ -36,7 +40,11 @@ public class ServletRequest extends InternalRequest { @Override public String param(String key) { - return source.getParameter(key); + String parameter = source.getParameter(key); + if (parameter == null) { + parameter = params.get(key); + } + return parameter; } } diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/java_ws_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/java_ws_controller.rb index fb7de582ef1..2c5d0d7ce8d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/java_ws_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/api/java_ws_controller.rb @@ -31,7 +31,7 @@ class Api::JavaWsController < Api::ApiController private def execute(media_type) - ws_request = Java::OrgSonarServerWs::ServletRequest.new(servlet_request) + ws_request = Java::OrgSonarServerWs::ServletRequest.new(servlet_request, params.to_java) # servlet_request is declared in jruby-rack but not servlet_response ! # request.env must be used. |