This is a toy reverse proxy project. Not intended for production use.
A reverse proxy is basically two things, an HTTP server and an HTTP client. Which act as a middleman for another Client and Server
|--------| |--------------| |--------|
| | ----> | | ----> | |
| Client | | ReverseProxy | | Server |
| | <---- | | <---- | |
|--------| |--------------| |--------|
- Listen on a Socket
- Parse incoming HTTP requests
- Based on some configuration, work out what to do with the request.
- If configured, send request on to the upstream server
- Send the response to the Client