summaryrefslogtreecommitdiffstats
path: root/Doc/lib/libsimplexmlrpc.tex
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2001-09-28 22:02:21 (GMT)
committerFred Drake <fdrake@acm.org>2001-09-28 22:02:21 (GMT)
commite486e0d066d7f4039bbc6ed3e9eff035114a7d05 (patch)
treebe330ab4b9c9f2481e0cc88be8114e2fba79fc52 /Doc/lib/libsimplexmlrpc.tex
parentabf925f6bf40f24647b477fe42b12f30da242fbb (diff)
downloadcpython-e486e0d066d7f4039bbc6ed3e9eff035114a7d05.zip
cpython-e486e0d066d7f4039bbc6ed3e9eff035114a7d05.tar.gz
cpython-e486e0d066d7f4039bbc6ed3e9eff035114a7d05.tar.bz2
Preliminary documentation for the SimpleXMLRPCServer module.
Diffstat (limited to 'Doc/lib/libsimplexmlrpc.tex')
-rw-r--r--Doc/lib/libsimplexmlrpc.tex69
1 files changed, 69 insertions, 0 deletions
diff --git a/Doc/lib/libsimplexmlrpc.tex b/Doc/lib/libsimplexmlrpc.tex
new file mode 100644
index 0000000..d090d8d
--- /dev/null
+++ b/Doc/lib/libsimplexmlrpc.tex
@@ -0,0 +1,69 @@
+\section{\module{SimpleXMLRPCServer} ---
+ Basic XML-RPC server}
+
+\declaremodule{standard}{SimpleXMLRPCServer}
+\moduleauthor{Brian Quinlan}{brianq@activestate.com}
+\sectionauthor{Fred L. Drake, Jr.}{fdrake@acm.org}
+
+
+The \module{SimpleXMLRPCServer} module provides a basic server
+framework for XML-RPC servers written in Python. The server object is
+based on the \code{\refmodule{SocketServer}.TCPServer} class,
+and the request handler is based on the
+\code{\refmodule{BaseHTTPServer}.BaseHTTPRequestHandler} class.
+
+
+\begin{classdesc}{SimpleXMLRPCServer}{addr\optional{,
+ requestHandler\optional{, logRequests}}}
+ Create a new server instance. The \var{requestHandler} parameter
+ should be a factory for request handler instances; it defaults to
+ \class{SimpleXMLRPCRequestHandler}. The \var{addr} and
+ \var{requestHandler} parameters are passed to the
+ \class{\refmodule{SocketServer}.TCPServer} constructor. If
+ \var{logRequests} is true (the default), requests will be logged;
+ setting this parameter to false will turn off logging. This class
+ provides methods for registration of functions that can be called by
+ the XML-RPC protocol.
+\end{classdesc}
+
+
+\begin{classdesc}{SimpleXMLRPCRequestHandler}{}
+ Create a new request handler instance. This request handler
+ supports \code{POST} requests and modifies logging so that the
+ \var{logRequests} parameter to the \class{SimpleXMLRPCServer}
+ constructor parameter is honored.
+\end{classdesc}
+
+
+\subsection{SimpleXMLRPCServer Objects \label{simple-xmlrpc-servers}}
+
+The \class{SimpleXMLRPCServer} class provides two methods that an
+application can use to register functions that can be called via the
+XML-RPC protocol via the request handler.
+
+\begin{methoddesc}[SimpleXMLRPCServer]{register_function}{function\optional{,
+ name}}
+ Register a function that can respond to XML-RPC requests. The
+ function must be callable with a single parameter which will be the
+ return value of \function{\refmodule{xmlrpclib}.loads()} when called
+ with the payload of the request. If \var{name} is given, it will be
+ the method name associated with \var{function}, otherwise
+ \code{\var{function}.__name__} will be used. \var{name} can be
+ either a normal or Unicode string, and may contain characters not
+ legal in Python identifiers, including the period character.
+\end{methoddesc}
+
+\begin{methoddesc}[SimpleXMLRPCServer]{register_instance}{instance}
+ Register an object which is used to expose method names which have
+ not been registered using \method{register_function()}. If
+ \var{instance} contains a \method{_dispatch()} method, it is called
+ with the requested method name and the parameters from the request;
+ the return value is returned to the client as the result. If
+ \var{instance} does not have a \method{_dispatch()} method, it is
+ searched for an attribute matching the name of the requested method;
+ if the requested method name contains periods, each component of the
+ method name is searched for individually, with the effect that a
+ simple hierarchical search is performed. The value found from this
+ search is then called with the parameters from the request, and the
+ return value is passed back to the client.
+\end{methoddesc}