Skip to content

Latest commit

 

History

History
25 lines (25 loc) · 1.01 KB

README.md

File metadata and controls

25 lines (25 loc) · 1.01 KB

Web-Server

CodeQL
A small light-weight multithreaded HTTP server

Building

clone https://github.com/jackwthake/Web-Server
cd Web-Server
make bin/serve

Request Processing

  1. New request is recieved in server_listen_loop()
  2. server_listen_loop() opens the request, queueing a new job to process the request
  3. Free thread picks up the job
  4. handle_connection() retrieves basic information about the request
  5. handle_connection() attempts to query the router for a matching path
  6. handle_connection() sends the appropriate data back to the client
  7. handle_connection() closes out the client socket

TO-DO

  • Serve HTTP requests
  • File logging
  • Automatically route files
  • Multithreaded handling of requests
  • Thread pooling
  • Use OpenSSL to serve HTTPS requests
  • Server side JSON Parsing