Currently, I am writing some python program for the front of our storage system. By using ‘BaseHTTPRequestHandler’ and ‘ThreadedHTTPServer’, we could implement a simple multi-thread http server quickly. But after add ‘__init__()’ for our ‘MyHandler’, it doesn’t work correctly now:

class MyHandler(BaseHTTPRequestHandler):
    def __init__(self):
        self.request_id = ''

Then I found this statement in python docs:

Subclasses should not need to override or extend the __init__() method.

But thanks for the code example, we could override ‘__init__’ of BaseHTTPRequestHandler’ this way:

class MyHandler(BaseHTTPRequestHandler):
    def __init__(self, request, client_address, server):
        BaseHTTPRequestHandler.__init__(self, request, client_address, server)
        self.request_id = ''