summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Lawrence <dlawrence@mozilla.com>2013-08-21 21:59:50 +0200
committerDave Lawrence <dlawrence@mozilla.com>2013-08-21 21:59:50 +0200
commit592bd080be8d0ed42b7a54d038b8fd705edb758f (patch)
tree220f57d56163075f413e442612004e81e4cbc06b
parent74b8cef885e2ea1667b3e03f4aac4b3876fdfd59 (diff)
downloadbugzilla-592bd080be8d0ed42b7a54d038b8fd705edb758f.tar.gz
bugzilla-592bd080be8d0ed42b7a54d038b8fd705edb758f.tar.xz
Bug 907245 - Allow for URL params to also be passed with POST/PUT REST API requests
r/a=glob
-rw-r--r--Bugzilla/WebService/Server/REST.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Server/REST.pm b/Bugzilla/WebService/Server/REST.pm
index 8d3aa481c..454749b5d 100644
--- a/Bugzilla/WebService/Server/REST.pm
+++ b/Bugzilla/WebService/Server/REST.pm
@@ -341,6 +341,14 @@ sub _retrieve_json_params {
ThrowUserError('json_rpc_invalid_params', { err_msg => $@ });
}
}
+
+ # Allow parameters in the query string if request was not GET.
+ # Note: query string parameters will override any matching params
+ # also specified in the request body.
+ foreach my $param ($self->cgi->url_param()) {
+ $extra_params->{$param} = $self->cgi->url_param($param);
+ }
+
%{$params} = (%{$params}, %{$extra_params}) if %{$extra_params};
}
@@ -527,6 +535,9 @@ tells it how you want your data back. "Content-Type" must be "application/json".
"Accept" can be either that, or "application/javascript" for JSONP - add a "callback"
parameter to name your callback.
+Parameters may also be passed in as part of the query string for non-GET requests
+and will override any matching parameters in the request body.
+
=head1 AUTHENTICATION
Along with viewing data as an anonymous user, you may also see private information