Developed to understand socket programming, multithreading, and the HTTP protocol.
POST /files/: Create or update a file with the request body. GET /files/: Retrieve the contents of a file. GET /echo/: Echo back the message. GET /user-agent: Return the User-Agent from the request headers.
Run the server with the base directory as an argument:
python server.py <base_directory>