2025-12-14 00:31:53 +00:00
2025-12-02 18:48:52 +00:00
2025-12-11 04:32:58 +00:00
2025-12-14 00:31:53 +00:00
2025-12-14 00:31:53 +00:00
2025-12-14 00:31:53 +00:00
2025-12-14 00:31:53 +00:00

Final Project
COS440
Nicholas Pease Git: https://gitea.nicholaspease.com/umaine-npease/cos440-fp

Overview
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

// 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

S
Description
No description provided
Readme 475 KiB
Languages
C 100%