• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Server/H03-May-2022-978489

Bug.pmH A D03-May-202293.6 KiB3,506818

Bugzilla.pmH A D03-May-202210.6 KiB473134

Classification.pmH A D03-May-20224.7 KiB20056

Constants.pmH A D03-May-20226.8 KiB207126

Group.pmH A D03-May-20226.7 KiB28775

Product.pmH A D03-May-202221.3 KiB869260

READMEH A D16-Feb-2018883 1914

Server.pmH A D03-May-20221.7 KiB5735

User.pmH A D03-May-202223.9 KiB956291

Util.pmH A D03-May-20227.4 KiB231108

README

1The class structure of these files is a little strange, and this README
2explains it.
3
4Our goal is to make JSON::RPC and XMLRPC::Lite both work with the same code.
5(That is, we want to have one WebService API, and have two frontends for it.)
6
7The problem is that these both pass different things for $self to WebService
8methods.
9
10When XMLRPC::Lite calls a method, $self is the name of the *class* the
11method is in. For example, if we call Bugzilla.version(), the first argument
12is Bugzilla::WebService::Bugzilla. So in order to have $self
13(our first argument) act correctly in XML-RPC, we make all WebService
14classes use base qw(Bugzilla::WebService).
15
16When JSON::RPC calls a method, $self is the JSON-RPC *server object*. In other
17words, it's an instance of Bugzilla::WebService::Server::JSONRPC. So we have
18Bugzilla::WebService::Server::JSONRPC inherit from Bugzilla::WebService.
19