From bfc5dbffdc7796fcc1a047fa892393c4a3638d57 Mon Sep 17 00:00:00 2001 From: David Versmisse Date: Tue, 6 Jul 2010 12:25:31 +0200 Subject: [PATCH] itools: update http --- itools/examples/http/ping.py | 10 +++++++++- itools/http.rst | 12 +++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/itools/examples/http/ping.py b/itools/examples/http/ping.py index 908d5a8..3cdd685 100644 --- a/itools/examples/http/ping.py +++ b/itools/examples/http/ping.py @@ -16,8 +16,13 @@ # Import from itools from itools.http import HTTPServer +from itools.loop import Loop class Ping(HTTPServer): + def listen(self, address, port): + super(Ping, self).listen(address, port) + self.add_handler('/', self.path_callback) + def path_callback(self, soup_message, path): method = soup_message.get_method() body = '%s %s' % (method, path) @@ -25,4 +30,7 @@ def path_callback(self, soup_message, path): soup_message.set_response('text/plain', body) server = Ping() -server.start() +server.listen('localhost', 8080) + +loop = Loop() +loop.run() diff --git a/itools/http.rst b/itools/http.rst index 749e3b4..2610ea4 100644 --- a/itools/http.rst +++ b/itools/http.rst @@ -11,8 +11,7 @@ The :mod:`itools.http` package offers an HTTP server with a simple programming interface. It builds on the HTTP server provided by the `libsoup -`_ C library (which is wrapped by the -:mod:`itools.soup` package). +`_ C library. .. note:: @@ -24,8 +23,13 @@ Example: .. code-block:: python from itools.http import HTTPServer + from itools.loop import Loop class Ping(HTTPServer): + def listen(self, address, port): + super(Ping, self).listen(address, port) + self.add_handler('/', self.path_callback) + def path_callback(self, soup_message, path): method = soup_message.get_method() body = '%s %s' % (method, path) @@ -33,5 +37,7 @@ Example: soup_message.set_response('text/plain', body) server = Ping() - server.start() + server.listen('localhost', 8080) + loop = Loop() + loop.run()