Name
Last commit
Last update
..
Server Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Bug.pm Bug 1039940: serialisation of objects for webservice responses is extremely slow
BugUserLastVisit.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Bugzilla.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Classification.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Component.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Constants.pm Bug 1009013 - Require a user to change their password if they log in and their current password does not meet the password complexity rules
FlagType.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Group.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Product.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
README Bug 787668: Use |use parent| instead of |use base|
Server.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
User.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
Util.pm Bug 996893: Perl 5.18 and newer throw tons of warnings about deprecated modules
The class structure of these files is a little strange, and this README
explains it.

Our goal is to make JSON::RPC and XMLRPC::Lite both work with the same code.
(That is, we want to have one WebService API, and have two frontends for it.)

The problem is that these both pass different things for $self to WebService
methods.

When XMLRPC::Lite calls a method, $self is the name of the *class* the 
method is in. For example, if we call Bugzilla.version(), the first argument
is Bugzilla::WebService::Bugzilla. So in order to have $self
(our first argument) act correctly in XML-RPC, we make all WebService
classes use parent qw(Bugzilla::WebService). 

When JSON::RPC calls a method, $self is the JSON-RPC *server object*. In other
words, it's an instance of Bugzilla::WebService::Server::JSONRPC. So we have
Bugzilla::WebService::Server::JSONRPC inherit from Bugzilla::WebService.