Staging
v0.8.1
https://github.com/python/cpython
Revision 24f7c89e6387ae538c493babd3e62c548b834b4a authored by cvs2svn on 07 October 2002, 21:38:58 UTC, committed by cvs2svn on 07 October 2002, 21:38:58 UTC
1 parent be36d02
Raw File
Tip revision: 24f7c89e6387ae538c493babd3e62c548b834b4a authored by cvs2svn on 07 October 2002, 21:38:58 UTC
This commit was manufactured by cvs2svn to create tag 'r222b1'.
Tip revision: 24f7c89
libsimplexmlrpc.tex
\section{\module{SimpleXMLRPCServer} ---
         Basic XML-RPC server}

\declaremodule{standard}{SimpleXMLRPCServer}
\modulesynopsis{Basic XML-RPC server implementation.}
\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 \class{\refmodule{SocketServer}.TCPServer} class,
and the request handler is based on the
\class{\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}
back to top