Python's BaseHTTPServer returns junky responses

901 views Asked by At

I use Python's BaseHTTPServer and implement the following very simple BaseHTTPRequestHandler:

class WorkerHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.wfile.write('{"status" : "ready"}')
        self.send_response(200)

When I run a GET query from the web browser, by simply going to localhost:port, I get the following response:

{"status" : "ready"}HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.12
Date: Mon, 09 Jan 2017 12:45:13 GMT

I only want the JSON. How can I make the server not sending this junky data?

HTTP/1.0 200 OK
Server: BaseHTTP/0.3 Python/2.7.12
Date: Mon, 09 Jan 2017 12:45:13 GMT
1

There are 1 answers

0
SomethingSomething On BEST ANSWER

Finally succeeded fixing it myself. Sharing with you:

class WorkerHandler(BaseHTTPRequestHandler):

    def do_GET(self):
        self.send_response(200)
        self.end_headers()
        self.wfile.write('{"status" : "ready"}')

Swapped the send_response and wfile.write. Also added end_headers after send_response