diff options
author | David Lawrence <dkl@mozilla.com> | 2014-11-11 04:17:10 +0100 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2014-11-11 04:17:10 +0100 |
commit | 2d223dcbe7bf5c045a11ea489a0964129518731e (patch) | |
tree | 28c45230ef0b80f5d4f8d5f4a0dc414a89a72f8e /extensions | |
parent | c2533c1f2e7c5c4376eb0dae17c3380b04067678 (diff) | |
download | bugzilla-2d223dcbe7bf5c045a11ea489a0964129518731e.tar.gz bugzilla-2d223dcbe7bf5c045a11ea489a0964129518731e.tar.xz |
Bug 1089805: BzAPI compatibility layer returns HTTP 200 when a bug update failed
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/BzAPI/Extension.pm | 7 | ||||
-rw-r--r-- | extensions/Example/Extension.pm | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/extensions/BzAPI/Extension.pm b/extensions/BzAPI/Extension.pm index cd08369b0..e6159243a 100644 --- a/extensions/BzAPI/Extension.pm +++ b/extensions/BzAPI/Extension.pm @@ -17,6 +17,7 @@ use Bugzilla::Error; use Bugzilla::Util qw(trick_taint datetime_from); use Bugzilla::Constants; use Bugzilla::Install::Filesystem; +use Bugzilla::WebService::Constants; use File::Basename; @@ -169,6 +170,12 @@ sub webservice_rest_resources { _add_resources($rpc, $resources); } +sub webservice_status_code_map { + my ($self, $args) = @_; + my $status_code_map = $args->{status_code_map}; + $status_code_map->{51} = STATUS_BAD_REQUEST; +} + ##################### # Utility Functions # ##################### diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm index a42f87b9e..5b76935e3 100644 --- a/extensions/Example/Extension.pm +++ b/extensions/Example/Extension.pm @@ -32,6 +32,7 @@ use Bugzilla::User::Setting; use Bugzilla::Util qw(diff_arrays html_quote); use Bugzilla::Status qw(is_open_state); use Bugzilla::Install::Filesystem; +use Bugzilla::WebService::Constants; # This is extensions/Example/lib/Util.pm. I can load this here in my # Extension.pm only because I have a Config.pm. @@ -950,11 +951,20 @@ sub webservice { sub webservice_error_codes { my ($self, $args) = @_; - + my $error_map = $args->{error_map}; $error_map->{'example_my_error'} = 10001; } +sub webservice_status_code_map { + my ($self, $args) = @_; + + my $status_code_map = $args->{status_code_map}; + # Uncomment this line to override the status code for the + # error 'object_does_not_exist' to STATUS_BAD_REQUEST + #$status_code_map->{51} = STATUS_BAD_REQUEST; +} + sub webservice_before_call { my ($self, $args) = @_; |