[ python-Bugs-1742837 ] Documentation for BaseHTTPServer.HTTPServer

SourceForge.net noreply at sourceforge.net
Mon Jun 25 15:26:37 CEST 2007


Bugs item #1742837, was opened at 2007-06-25 09:24
Message generated for change (Comment added) made by bmintern
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1742837&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Documentation
Group: Feature Request
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Brandon Mintern (bmintern)
Assigned to: Nobody/Anonymous (nobody)
Summary: Documentation for BaseHTTPServer.HTTPServer

Initial Comment:
I have frequently used the BaseHTTPServer.HTTPServer class to create servers to perform a variety of tasks. In the past, I have always simply created an instance of the class and invoked "serve_forever" (as shown in http://docs.python.org/lib/module-BaseHTTPServer.html).

This time around, however, I needed to be able to run the server inside a while loop, so that I could eventually terminate the server. The docs.python.org site has no real documentation indicating how to do this, since the HTTPServer class is not really documented. I found the information I needed at http://pydoc.org/2.4.1/BaseHTTPServer.html#HTTPServer.

This is a request to include more information on HTTPServer on the docs.python.org site, especially documentation for functions like handle_request(). I understand that HTTPServer inherits from SocketServer.TCPServer, which inherits from SocketServer.BaseServer, and that is where this method comes from. For this reason, it doesn't really make sense to duplicate that information. I would simply like to see another use case to supplement the first one, i.e.

## What is there already

def run(server_class=BaseHTTPServer.HTTPServer,
        handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
    server_address = ('', 8000)
    httpd = server_class(server_address, handler_class)
    httpd.serve_forever()

## I would like to see something like the following added

def run_while_true(keep_running,
                   server_class=BaseHTTPServer.HTTPServer,
                   handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
    """keep_running is a function of no arguments which is tested initially and
    after each request. If its return value evaluates to True, the server
    continues."""
    server_address = ('', 8000)
    httpd = server_class(server_address, handler_class)
    while keep_running:
        httpd.handle_request()

----------------------------------------------------------------------

>Comment By: Brandon Mintern (bmintern)
Date: 2007-06-25 09:26

Message:
Logged In: YES 
user_id=1827662
Originator: YES

Wow... I'm a first time SourceForge user.  How dumb is it that they don't
wrap comments in pre tags, knowing that there will probably be a lot of
code snippets posted? I hope you can tell what I meant above.  Just pretend
that it's all indented as it should be :)

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1742837&group_id=5470


More information about the Python-bugs-list mailing list