27 lines
1.5 KiB
Markdown
27 lines
1.5 KiB
Markdown
Final Project<br/>
|
|
COS440<br/>
|
|
Nicholas Pease
|
|
Git: https://gitea.nicholaspease.com/umaine-npease/cos440-fp
|
|
|
|
Overview<br/>
|
|
This is a simple TCP HTTP cache proxy server. It can cache responses for HTTP requests to upstream servers, and serve them in accordance with HTTP protocol.
|
|
The cache is populated from 0, either filling the next open slot, or the first encountered expired entry.
|
|
|
|
This program has been tested to work with GET and HEAD requests in proxy mode (-I for HEAD, -x for Proxy mode). All test cases listed publically on the server http://149.165.173.252:8000/ have been tested and verified that they work with the program. I know of no defects at this time.
|
|
|
|
This program has various configurable settings, which I will describe below along with their default values
|
|
```c
|
|
// Program Settings
|
|
#define BOUND_IP "10.4.78.8" // IP Address to bind to
|
|
#define PORT 8000 // The port to bind to
|
|
|
|
#define DEBUG_MODE DEBUG_ASSIGNMENT // Print Debug Statement Level (Select one from below)
|
|
|
|
// Debug levels
|
|
#define DEBUG_NONE 0 // No output at all
|
|
#define DEBUG_INFO 1 // Basic Output (All the DEBUG from Pt.1 of the program, plus a few extra print statements)
|
|
#define DEBUG_EXTENDED 2 // Extra Output I used for inspecting messages being constructed / sent.
|
|
#define DEBUG_ASSIGNMENT -1 // Output for Assignment Submission (This is the default setting I will be turning this program in with)
|
|
```
|
|
|
|
These can be edited and recompiled / executed |