# -*- Mode: perl; indent-tabs-mode: nil -*- # # The contents of this file are subject to the Mozilla Public # License Version 1.1 (the "License"); you may not use this file # except in compliance with the License. You may obtain a copy of # the License at http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or # implied. See the License for the specific language governing # rights and limitations under the License. # # The Original Code is the Bugzilla Bug Tracking System. # # Contributor(s): Marc Schumann # Max Kanat-Alexander package Bugzilla::WebService::Constants; use strict; use base qw(Exporter); @Bugzilla::WebService::Constants::EXPORT = qw( WS_ERROR_CODE ERROR_UNKNOWN_FATAL ERROR_UNKNOWN_TRANSIENT ERROR_AUTH_NODATA ERROR_UNIMPLEMENTED ); # This maps the error names in global/*-error.html.tmpl to numbers. # Generally, transient errors should have a number above 0, and # fatal errors should have a number below 0. # # This hash should generally contain any error that could be thrown # by the WebService interface. If it's extremely unlikely that the # error could be thrown (like some CodeErrors), it doesn't have to # be listed here. # # "Transient" means "If you resubmit that request with different data, # it may work." # # "Fatal" means, "There's something wrong with Bugzilla, probably # something an administrator would have to fix." # # NOTE: Numbers must never be recycled. If you remove a number, leave a # comment that it was retired. Also, if an error changes its name, you'll # have to fix it here. use constant WS_ERROR_CODE => { # Bug errors usually occupy the 100-200 range. invalid_bug_id_or_alias => 100, invalid_bug_id_non_existent => 101, bug_access_denied => 102, # Authentication errors are usually 300-400. invalid_username_or_password => 300, account_disabled => 301, auth_invalid_email => 302, extern_id_conflict => -303, # User errors are 500-600. account_exists => 500, illegal_email_address => 501, password_too_short => 502, password_too_long => 503, }; # These are the fallback defaults for errors not in ERROR_CODE. use constant ERROR_UNKNOWN_FATAL => -32000; use constant ERROR_UNKNOWN_TRANSIENT => 32000; use constant ERROR_AUTH_NODATA => 410; use constant ERROR_UNIMPLEMENTED => 910; use constant ERROR_GENERAL => 999; 1;