From e0db56e755e94e07677faa3729a4affe38a3ce18 Mon Sep 17 00:00:00 2001 From: "mkanat%bugzilla.org" <> Date: Wed, 28 May 2008 03:08:59 +0000 Subject: Bug 435507: Provide a method of hooking the WebService error codes Patch By Max Kanat-Alexander r=ghendricks, a=mkanat --- Bugzilla/Error.pm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Bugzilla/Error.pm') diff --git a/Bugzilla/Error.pm b/Bugzilla/Error.pm index 3e5688e2a..d15336a81 100644 --- a/Bugzilla/Error.pm +++ b/Bugzilla/Error.pm @@ -102,7 +102,12 @@ sub _throw_error { die("$message\n"); } elsif (Bugzilla->error_mode == ERROR_MODE_DIE_SOAP_FAULT) { - my $code = WS_ERROR_CODE->{$error}; + # Clone the hash so we aren't modifying the constant. + my %error_map = %{ WS_ERROR_CODE() }; + require Bugzilla::Hook; + Bugzilla::Hook::process('webservice-error_codes', + { error_map => \%error_map }); + my $code = $error_map{$error}; if (!$code) { $code = ERROR_UNKNOWN_FATAL if $name =~ /code/i; $code = ERROR_UNKNOWN_TRANSIENT if $name =~ /user/i; -- cgit v1.2.3-24-g4f1b