# User's Guide:i2p.BaseHTTPServer

From Python-I2P.

Emulates Python BaseHTTPServer module using I2P sockets.

## Overview

The Python module is described at http://www.python.org/doc/current/lib/module-BaseHTTPServer.html

To get a server going, use:

    >>> from i2p import BaseHTTPServer
    >>> BaseHTTPServer.test().

Consult the documentation for function test() to change basic server settings, such as the session name.

A fully customizable example:

    >>> from i2p import BaseHTTPServer
    >>> session = "mytestxxx.i2p"      # SAM session name
    >>> class MyServer(BaseHTTPServer.HTTPServer): pass
    >>> class MyRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): pass
    >>> httpd = MyServer(session, MyRequestHandler)
    >>> httpd.socket.dest
    (Base64 Destination of server)
    >>> httpd.serve_forever()

## Classes

class BaseHTTPRequestHandler

    Same interface as Python class BaseHTTPServer.BaseHTTPRequestHandler.

class HTTPServer

    Same interface as Python class BaseHTTPServer.HTTPServer.

## Functions

test(HandlerClass=BaseHTTPRequestHandler, ServerClass=HTTPServer, protocol='HTTP/1.0', session='mytestxxx.i2p')

    Test the HTTP request handler class.
    This runs an I2P TCP server under SAM session 'session'. If a single command
    line argument is given, the argument is used instead as the SAM session name.