Can I set a header with python's SimpleHTTPServer?

后端 未结 4 516
别跟我提以往
别跟我提以往 2020-12-01 08:44

I\'m using SimpleHTTPServer to test some webpages I\'m working on. It works great, however I need to do some cross-domain requests. That requires setting a

4条回答
  •  天涯浪人
    2020-12-01 09:35

    This is a bit of a hack because it changes end_headers() behavior, but I think it's slightly better than copying and pasting the entire SimpleHTTPServer.py file.

    My approach overrides end_headers() in a subclass and in it calls send_my_headers() followed by calling the superclass's end_headers().

    It's not 1 - 2 lines either, less than 20 though; mostly boilerplate.

    #!/usr/bin/env python
    import SimpleHTTPServer
    
    class MyHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
        def end_headers(self):
            self.send_my_headers()
    
            SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)
    
        def send_my_headers(self):
            self.send_header("Access-Control-Allow-Origin", "*")
    
    
    if __name__ == '__main__':
        SimpleHTTPServer.test(HandlerClass=MyHTTPRequestHandler)
    

提交回复
热议问题