From 592bd080be8d0ed42b7a54d038b8fd705edb758f Mon Sep 17 00:00:00 2001 From: Dave Lawrence Date: Wed, 21 Aug 2013 15:59:50 -0400 Subject: Bug 907245 - Allow for URL params to also be passed with POST/PUT REST API requests r/a=glob --- Bugzilla/WebService/Server/REST.pm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Bugzilla/WebService/Server') 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 -- cgit v1.2.3-24-g4f1b