diff options
Diffstat (limited to 'Bugzilla/WebService')
-rw-r--r-- | Bugzilla/WebService/Constants.pm | 2 | ||||
-rw-r--r-- | Bugzilla/WebService/Server.pm | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/Bugzilla/WebService/Constants.pm b/Bugzilla/WebService/Constants.pm index 7fd7e2ae8..a51389faa 100644 --- a/Bugzilla/WebService/Constants.pm +++ b/Bugzilla/WebService/Constants.pm @@ -112,6 +112,8 @@ use constant WS_ERROR_CODE => { invalid_user_group => 504, user_access_by_id_denied => 505, user_access_by_match_denied => 505, + # Fatal errors (must be negative). + unknown_method => -32601, }; # These are the fallback defaults for errors not in ERROR_CODE. diff --git a/Bugzilla/WebService/Server.pm b/Bugzilla/WebService/Server.pm index 115c7df89..9571e8030 100644 --- a/Bugzilla/WebService/Server.pm +++ b/Bugzilla/WebService/Server.pm @@ -18,9 +18,12 @@ package Bugzilla::WebService::Server; use strict; +use Bugzilla::Error; + sub handle_login { my ($self, $class, $method, $full_method) = @_; eval "require $class"; + ThrowCodeError('unknown_method', {method => $full_method}) if $@; return if ($class->login_exempt($method) and !defined Bugzilla->input_params->{Bugzilla_login}); Bugzilla->login(); |