BaseHTTPRequestHandler with custom instance

basehttprequesthandler, basehttpserver, httpserver, python, requesthandler

Solution

there a way to do it is to set the property to the class :

from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer

class test:
    def show(self):
        return "aaaa"

class http_server:
    def __init__(self, t1):
        myHandler.t1 = t1
        server = HTTPServer(('', 8080), myHandler)
        server.serve_forever()

class myHandler(BaseHTTPRequestHandler):
    t1 = None
    def do_GET(self):
        self.send_response(200)
        self.send_header('Content-type','text/html')
        self.end_headers()
        self.wfile.write(self.t1.show()) #Doesnt work
        return

class main:
    def __init__(self):
        self.t1 = test()

        self.server = http_server(self.t1)

if __name__ == '__main__':
    m = main()

You have to be careful that's every where you use myHandler that's will be the same instance of t1

Problem

this is my http server: ``` from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer class test: def show(self): return "aaaa" class http_server: def __init__(self, t1): self.t1 = t1 server = HTTPServer(('', 8080), myHandler) server.serve_forever() class myHandler(BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write(self.t1.show()) #Doesnt work return class main: def __init__(self): self.t1 = test() self.server = http_server(self.t1) if __name__ == '__main__': m = main() ``` I need to acces instance t1 inside of myHander. Is there any way how to do it ? Thanks!

Original source