Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
d69663d3
Kaydet (Commit)
d69663d3
authored
Ock 15, 2003
tarafından
Martin v. Löwis
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Patch #473586: Implement CGIXMLRPCRequestHandler.
üst
5d5e7c0e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
107 additions
and
16 deletions
+107
-16
libsimplexmlrpc.tex
Doc/lib/libsimplexmlrpc.tex
+104
-16
SimpleXMLRPCServer.py
Lib/SimpleXMLRPCServer.py
+0
-0
NEWS
Misc/NEWS
+3
-0
No files found.
Doc/lib/libsimplexmlrpc.tex
Dosyayı görüntüle @
d69663d3
...
...
@@ -8,14 +8,13 @@
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.
framework for XML-RPC servers written in Python. Servers can either
be free standing, using
\class
{
SimpleXMLRPCServer
}
, or embedded in a
CGI environment, using
\class
{
CGIXMLRPCRequestHandler
}
.
\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
...
...
@@ -27,6 +26,10 @@ and the request handler is based on the
the XML-RPC protocol.
\end{classdesc}
\begin{classdesc}
{
CGIXMLRPCRequestHandler
}{}
Create a new instance to handle XML-RPC requests in a CGI
environment.
\versionadded
{
2.3
}
\end{classdesc}
\begin{classdesc}
{
SimpleXMLRPCRequestHandler
}{}
Create a new request handler instance. This request handler
...
...
@@ -38,20 +41,18 @@ and the request handler is based on the
\subsection
{
SimpleXMLRPCServer Objects
\label
{
simple-xmlrpc-servers
}}
The
\class
{
SimpleXMLRPCServer
}
class
provides two methods that a
n
application can use to register functions that can be called via the
XML-RPC protocol via the request handler
.
The
\class
{
SimpleXMLRPCServer
}
class
is based o
n
\class
{
SocketServer.TCPServer
}
and provides a means of creating
simple, stand alone XML-RPC servers
.
\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.
Register a function that can respond to XML-RPC requests. 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
}
...
...
@@ -68,3 +69,89 @@ XML-RPC protocol via the request handler.
search is then called with the parameters from the request, and the
return value is passed back to the client.
\end{methoddesc}
\begin{methoddesc}
{
register
_
introspection
_
functions
}{}
Registers the XML-RPC introspection functions
\code
{
system.listMethods
}
,
\code
{
system.methodHelp
}
and
\code
{
system.methodSignature
}
.
\versionadded
{
2.3
}
\end{methoddesc}
\begin{methoddesc}
{
register
_
multicall
_
functions
}{}
Registers the XML-RPC multicall function system.multicall.
\end{methoddesc}
Example:
\begin{verbatim}
class MyFuncs:
def div(self, x, y) : return div(x,y)
server = SimpleXMLRPCServer(("localhost", 8000))
server.register
_
function(pow)
server.register
_
function(lambda x,y: x+y, 'add')
server.register
_
introspection
_
functions()
server.register
_
instance(MyFuncs())
server.serve
_
forever()
\end{verbatim}
\subsection
{
CGIXMLRPCRequestHandler
}
The
\class
{
CGIXMLRPCRequestHandler
}
class can be used to
handle XML-RPC requests sent to Python CGI scripts.
\begin{methoddesc}
{
register
_
function
}{
function
\optional
{
, name
}}
Register a function that can respond to XML-RPC requests. If
\var
{
name] is given, it will be the method name associated with
function, otherwise
\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}
{
register
_
instance
}{
instance
}
Register an object which is used to expose method names
which have not been registered using
\method
{
register
_
function()
}
. If
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 instance does not have a
\methode
{_
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}
\begin{methoddesc}
{
register
_
introspection
_
functions
}{}
Register the XML-RPC introspection functions
\code
{
system.listMethods
}
,
\code
{
system.methodHelp
}
and
\code
{
system.methodSignature
}
.
\end{methoddesc}
\begin{methoddesc}
{
register
_
multicall
_
functions
}{}
Register the XML-RPC multicall function
\code
{
system.multicall
}
.
\end{methoddesc}
\begin{methoddesc}
{
handle
_
request
}{
\optional
{
request
_
text = None
}}
Handle a XML-RPC request. If
\var
{
request
_
text
}
is given, it
should be the POST data provided by the HTTP server,
otherwise the contents of stdin will be used.
\end{methoddesc}
Example:
\begin{verbatim}
class MyFuncs:
def div(self, x, y) : return div(x,y)
handler = CGIXMLRPCRequestHandler()
handler.register
_
function(pow)
handler.register
_
function(lambda x,y: x+y, 'add')
handler.register
_
introspection
_
functions()
handler.register
_
instance(MyFuncs())
handler.handle
_
request()
\end{verbatim}
\ No newline at end of file
Lib/SimpleXMLRPCServer.py
Dosyayı görüntüle @
d69663d3
This diff is collapsed.
Click to expand it.
Misc/NEWS
Dosyayı görüntüle @
d69663d3
...
...
@@ -78,6 +78,9 @@ Extension modules
Library
-------
- SimpleXMLRPCServer now supports CGI through the CGIXMLRPCRequestHandler
class.
- The sets module now raises TypeError in __cmp__, to clarify that
sets are not intended to be three-way-compared; the comparison
operators are overloaded as subset/superset tests.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment