From: Fredrik Lundh <fredrik@pythonware.com>
Date: Tue, 17 Jan 2006 21:31:31 +0000 (+0000)
Subject: fixed example:
X-Git-Tag: v2.5a0~802
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d790a7b596585a5726b8e7aa3e5c437944532bc0;p=python

fixed example:
adding missing import, handle_close, test code, etc.
---

diff --git a/Doc/lib/libasyncore.tex b/Doc/lib/libasyncore.tex
index 65de1e4472..4425da70d5 100644
--- a/Doc/lib/libasyncore.tex
+++ b/Doc/lib/libasyncore.tex
@@ -222,29 +222,37 @@ Most of these are nearly identical to their socket partners.
 
 \subsection{asyncore Example basic HTTP client \label{asyncore-example}}
 
-As a basic example, below is a very basic HTTP client that uses the 
-\class{dispatcher} class to implement its socket handling:
+Here is a very basic HTTP client that uses the \class{dispatcher}
+class to implement its socket handling:
 
 \begin{verbatim}
+import asyncore, socket
+
 class http_client(asyncore.dispatcher):
-    def __init__(self, host,path):
+
+    def __init__(self, host, path):
         asyncore.dispatcher.__init__(self)
-        self.path = path
         self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
         self.connect( (host, 80) )
-        self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % self.path
-        
+        self.buffer = 'GET %s HTTP/1.0\r\n\r\n' % path
+
     def handle_connect(self):
         pass
-        
+
+    def handle_close(self):
+        self.close()
+
     def handle_read(self):
-        data = self.recv(8192)
-        print data
-        
+        print self.recv(8192)
+
     def writable(self):
         return (len(self.buffer) > 0)
-    
+
     def handle_write(self):
         sent = self.send(self.buffer)
         self.buffer = self.buffer[sent:]
+
+c = http_client('www.python.org', '/')
+
+asyncore.loop()
 \end{verbatim}