Skip to content

Instantly share code, notes, and snippets.

@Bogdanp
Created October 17, 2018 05:42
Show Gist options
  • Save Bogdanp/af749af97c6be2e6eb9ae04a67fa7c7f to your computer and use it in GitHub Desktop.
Save Bogdanp/af749af97c6be2e6eb9ae04a67fa7c7f to your computer and use it in GitHub Desktop.
BAD_REQUEST_RESPONSE = b"""\
HTTP/1.1 400 Bad Request
Content-type: text/plain
Content-length: 11
Bad Request""".replace(b"\n", b"\r\n")
with socket.socket() as server_sock:
server_sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_sock.bind((HOST, PORT))
server_sock.listen(0)
print(f"Listening on {HOST}:{PORT}...")
while True:
client_sock, client_addr = server_sock.accept()
print(f"Received connection from {client_addr}...")
with client_sock:
try:
request = Request.from_socket(client_sock)
print(request)
client_sock.sendall(RESPONSE)
except Exception as e:
print(f"Failed to parse request: {e}")
client_sock.sendall(BAD_REQUEST_RESPONSE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment