From ff4ad2524a382863947b2d0ff8a8a46855c567b1 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 12 Dec 2017 01:06:12 +0100 Subject: [PATCH] cleanup server socket and client close --- networkconfig.py | 58 ++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/networkconfig.py b/networkconfig.py index f8e1a08..2f7dccb 100644 --- a/networkconfig.py +++ b/networkconfig.py @@ -199,6 +199,7 @@ def stop(): if server_socket: server_socket.close() + server_socket = None def start(port=80): @@ -227,39 +228,38 @@ def start(port=80): while True: if wlan_sta.isconnected(): - client.close return True client, addr = server_socket.accept() - client.settimeout(5.0) - print('client connected from', addr) - - request = b"" try: - while "\r\n\r\n" not in request: - request += client.recv(512) - except OSError: - pass + client.settimeout(5.0) - print("Request is: {}".format(request)) - if "HTTP" not in request: - # skip invalid requests + request = b"" + try: + while "\r\n\r\n" not in request: + request += client.recv(512) + except OSError: + pass + + print("Request is: {}".format(request)) + if "HTTP" not in request: + # skip invalid requests + continue + + # version 1.9 compatibility + try: + url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).decode("utf-8").rstrip("/") + except: + url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).rstrip("/") + print("URL is {}".format(url)) + + if url == "": + handle_root(client) + elif url == "configure": + handle_configure(client, request) + else: + handle_not_found(client, url) + + finally: client.close() - continue - - # version 1.9 compatibility - try: - url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).decode("utf-8").rstrip("/") - except: - url = ure.search("(?:GET|POST) /(.*?)(?:\\?.*?)? HTTP", request).group(1).rstrip("/") - print("URL is {}".format(url)) - - if url == "": - handle_root(client) - elif url == "configure": - handle_configure(client, request) - else: - handle_not_found(client, url) - - client.close()