1# ======================================================================
2#
3# Copyright (C) 2000-2001 Paul Kulchenko (paulclinger@yahoo.com)
4# SOAP::Lite is free software; you can redistribute it
5# and/or modify it under the same terms as Perl itself.
6#
7# $Id: Lite.pm,v 1.2 2004/11/14 19:30:49 byrnereese Exp $
8#
9# ======================================================================
10
11package Apache::XMLRPC::Lite;
12
13use strict;
14use vars qw(@ISA $VERSION);
15use XMLRPC::Transport::HTTP;
16
17@ISA = qw(XMLRPC::Transport::HTTP::Apache);
18#$VERSION = sprintf("%d.%s", map {s/_//g; $_} q$Name:  $ =~ /-(\d+)_([\d_]+)/);
19$VERSION = $XMLRPC::Lite::VERSION;
20
21my $server = __PACKAGE__->new;
22
23sub handler {
24  $server->configure(@_);
25  $server->SUPER::handler(@_);
26}
27
28# ======================================================================
29
301;
31
32__END__
33
34=head1 NAME
35
36Apache::XMLRPC::Lite - mod_perl-based XML-RPC server with minimum configuration
37
38=head1 SYNOPSIS
39
40=over 4
41
42=item httpd.conf (Location), directory-based access
43
44  <Location /mod_xmlrpc>
45    SetHandler perl-script
46    PerlHandler Apache::XMLRPC::Lite
47    PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
48    PerlSetVar options "compress_threshold => 10000"
49  </Location>
50
51=item httpd.conf (Files), file-based access
52
53  <FilesMatch "\.xmlrpc$">
54    SetHandler perl-script
55    PerlHandler Apache::XMLRPC::Lite
56    PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
57    PerlSetVar options "compress_threshold => 10000"
58  </FilesMatch>
59
60=item .htaccess, directory-based access
61
62  SetHandler perl-script
63  PerlHandler Apache::XMLRPC::Lite
64  PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
65  PerlSetVar options "compress_threshold => 10000"
66
67=back
68
69=head1 DESCRIPTION
70
71This Apache Perl module provides the ability to add support for XML-RPC
72protocol with easy configuration (either in .conf or in .htaccess file).
73This functionality should give you lightweight option
74for hosting SOAP services and greatly simplify configuration aspects. This
75module inherites functionality from XMLRPC::Transport::HTTP::Apache component
76of XMLRPC::Lite module.
77
78=head1 CONFIGURATION
79
80The module can be placed in <Location>, <Directory>, <Files>, <FilesMatch>
81directives in main server configuration areas or directly in .htaccess file.
82
83All parameters should be quoted and can be separated with commas or spaces
84for lists ("a, b, c") and with 'wide arrows' and commas for hash parameters
85("key1 => value1, key2 => value2").
86
87All options that you can find in XMLRPC::Transport::HTTP::Apache component
88are available for configuration. Here is the description of most important
89ones.
90
91=over 4
92
93=item dispatch_to (LIST)
94
95Specifies path to directory that contains Perl modules you'd like to give
96access to, or just list of modules (for preloaded modules).
97
98  PerlSetVar dispatch_to "/Your/Path/To/Deployed/Modules, Module::Name, Module::method"
99
100=item options (HASH)
101
102Specifies list of options for your module, for example threshold for
103compression. Future versions will support more options. See
104XMLRPC::Transport::HTTP documentation for other options.
105
106  PerlSetVar options "compress_threshold => 10000"
107
108=back
109
110=head1 DEPENDENCIES
111
112 XMLRPC::Lite
113 mod_perl
114
115=head1 SEE ALSO
116
117 XMLRPC::Transport::HTTP::Apache for implementation details,
118 XMLRPC::Lite for general information, and
119 F<examples/server/mod_xmlrpc.htaccess> for .htaccess example
120
121=head1 COPYRIGHT
122
123Copyright (C) 2000-2001 Paul Kulchenko. All rights reserved.
124
125This library is free software; you can redistribute it and/or modify
126it under the same terms as Perl itself.
127
128=head1 AUTHOR
129
130Paul Kulchenko (paulclinger@yahoo.com)
131
132=cut
133