allows handling requests (direct socket only)
provides request and response objects
cleans up HttpServer constructor