How to manually close connection in BaseHTTPServer?
- by user1657188
I have a script that sends a request to an HTTP server.
HTTP server script (snippet):
...
class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(sa):
pdict = cgi.parse_header(sa.headers.getheader('referer'))
q = pdict[0]
q = urllib.unquote(q)
if q == "enternetixplorer" # basically just ignore this, doesn't have to do with the question
sa.wfile.write("blah blah blah")
# now restart server
httpd.server_close()
python = sys.executable
os.execl(python, python, * sys.argv)
...
The "blah blah blah" is sent back, but the connection does not seem to close, and my script is waiting forever until I abort the server. (My thought is BaseHTTPServer automatically closes connection when the last part in "do_GET()" is computed, but I prevent this by restarting the script.)
If I'm right, how do I close the connection? If not, what else might be the problem?
Edit:
The server script HAS to restart the entire program.