Skip to content

Instantly share code, notes, and snippets.

@gabriel-tincu
Created December 22, 2019 15:55
Show Gist options
  • Save gabriel-tincu/4dd61b57f34fe111a721d0517286b824 to your computer and use it in GitHub Desktop.
Save gabriel-tincu/4dd61b57f34fe111a721d0517286b824 to your computer and use it in GitHub Desktop.
import socketserver
import socket
import time
import logging
headers = "HTTP/1.1 200 OK\nContent-Type: text/html\n\n"
payload = "sleep 1\n{}\nsleep 1\n".format("\n".join(["echo foo"]*20))
more = "echo final lines"
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')
logger = logging.getLogger('server')
if __name__ == '__main__':
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('localhost', 6666))
s.listen(1)
while True:
conn, addr = s.accept()
data = conn.recv(1024)
logger.info(data.decode())
logger.info("Sending headers")
conn.sendall(headers.encode())
logger.info("Sending payload")
conn.sendall(payload.encode())
logger.info("Sending final payload")
conn.sendall(more.encode())
logger.info("All done")
logger.info("*" * 50)
conn.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment