Merged BugsSite to Bugzilla-3.0.3
[WebKit-https.git] / BugsSite / xmlrpc.cgi
1 #!/usr/bin/perl -wT
2 # -*- Mode: perl; indent-tabs-mode: nil -*-
3 #
4 # The contents of this file are subject to the Mozilla Public
5 # License Version 1.1 (the "License"); you may not use this file
6 # except in compliance with the License. You may obtain a copy of
7 # the License at http://www.mozilla.org/MPL/
8 #
9 # Software distributed under the License is distributed on an "AS
10 # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
11 # implied. See the License for the specific language governing
12 # rights and limitations under the License.
13 #
14 # The Original Code is the Bugzilla Bug Tracking System.
15 #
16 # Contributor(s): Marc Schumann <wurblzap@gmail.com>
17
18 use strict;
19 use lib qw(.);
20
21 use Bugzilla;
22 use Bugzilla::Constants;
23
24 # Use an eval here so that runtests.pl accepts this script even if SOAP-Lite
25 # is not installed.
26 eval 'use XMLRPC::Transport::HTTP;
27       use Bugzilla::WebService;';
28 $@ && ThrowCodeError('soap_not_installed');
29
30 Bugzilla->usage_mode(Bugzilla::Constants::USAGE_MODE_WEBSERVICE);
31
32 my $response = Bugzilla::WebService::XMLRPC::Transport::HTTP::CGI
33     ->dispatch_with({'Bugzilla' => 'Bugzilla::WebService::Bugzilla',
34                      'Bug'      => 'Bugzilla::WebService::Bug',
35                      'User'     => 'Bugzilla::WebService::User',
36                      'Product'  => 'Bugzilla::WebService::Product',
37                     })
38     ->on_action(\&Bugzilla::WebService::handle_login)
39     ->handle;