From 198db6f0003935e5f900719fa0b848924b8921bb Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 4 Mar 2016 18:33:12 +0100 Subject: Project one until step 8 in the readme --- project1/proj1_s4498062/webhttp/composer.py | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'project1/proj1_s4498062/webhttp/composer.py') diff --git a/project1/proj1_s4498062/webhttp/composer.py b/project1/proj1_s4498062/webhttp/composer.py index dfac7a1..5123d31 100644 --- a/project1/proj1_s4498062/webhttp/composer.py +++ b/project1/proj1_s4498062/webhttp/composer.py @@ -7,8 +7,8 @@ HTTP requests from a client. import time import webhttp.message -import webhttp.resource - +from webhttp.resource import Resource, FileExistError, FileAccessError +import webhttp.weblogging as logging class ResponseComposer: """Class that composes a HTTP response to a HTTP request""" @@ -34,10 +34,22 @@ class ResponseComposer: response = webhttp.message.Response() # Stub code - response.code = 200 - response.set_header("Content-Length", 4) - response.set_header("Connection", "close") - response.body = "Test" + try: + resource = Resource(request.uri) + response.code = 200 + response.set_header('Content-Length', resource.get_content_length()) + response.set_header('Connection', 'close') + response.body = resource.get_content() + except FileExistError: + response.code = 404 + response.set_header("Content-Length", 9) + response.set_header("Connection", "close") + response.body = "Not found" + except FileAccessError: + response.code = 403 + response.set_header("Content-Length", 13) + response.set_header("Connection", "close") + response.body = "Access denied" return response -- cgit v1.2.3