Overview
This Lawrence Technological University computer-networks project is a browser-accessible file-serving application built with ASP.NET Core. It presents a landing page and handles requested files from the project’s web root.
Context
The assignment centers on recognizable web-server behavior without claiming a custom raw-socket implementation. The public route contract includes a landing page, a PDF file response, and dynamic file paths, with missing resources returning an error response.
Implementation
The application maps its website endpoints in ASP.NET Core after logging each request method, path, query string, and protocol to the terminal. Its endpoint layer resolves requested paths within wwwroot, rejects invalid or missing paths, selects a response content type, and returns the requested file or an appropriate error.
Request flow
Browser request → ASP.NET Core endpoint → requested-path resolution in wwwroot → path and file checks → file response with a content type, or an error response.
Technical decisions
The project keeps the assignment logic in explicit C# endpoints instead of relying on static-file middleware. That makes path handling and response behavior inspectable at the route level while preserving the framework’s HTTP hosting model.
Validation
The repository documents manual checks for the landing page, CSS and JavaScript loading, valid dynamic paths, invalid paths, and missing-file responses.