diff options
author | Camil Staps | 2016-03-04 18:33:12 +0100 |
---|---|---|
committer | Camil Staps | 2016-03-04 18:33:12 +0100 |
commit | 198db6f0003935e5f900719fa0b848924b8921bb (patch) | |
tree | 783956c7f4ced78e864a0ea7503bf5a63bef7370 /project1/proj1_s4498062/webhttp/parser.py | |
parent | Added framework project 1 (diff) |
Project one until step 8 in the readme
Diffstat (limited to 'project1/proj1_s4498062/webhttp/parser.py')
-rw-r--r-- | project1/proj1_s4498062/webhttp/parser.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/project1/proj1_s4498062/webhttp/parser.py b/project1/proj1_s4498062/webhttp/parser.py index f3809c3..58e83dc 100644 --- a/project1/proj1_s4498062/webhttp/parser.py +++ b/project1/proj1_s4498062/webhttp/parser.py @@ -11,7 +11,7 @@ class RequestParser: def __init__(self):
"""Initialize the RequestParser"""
- pass
+ self.buff = ''
def parse_requests(self, buff):
"""Parse requests in a buffer
@@ -22,28 +22,27 @@ class RequestParser: Returns:
list of webhttp.Request
"""
- requests = split_requests(buff)
+ self.buff += buff
+ requests = self.get_requests()
http_requests = []
for request in requests:
http_request = webhttp.message.Request()
+ http_request.parse(request)
http_requests.append(http_request)
return http_requests
- def split_requests(self, buff):
- """Split multiple requests
-
- Arguments:
- buff (str): the buffer contents received from socket
+ def get_requests(self):
+ """Split multiple requests from buffer
Returns:
list of str
"""
- requests = buff.split('\r\n\r\n')
+ requests = self.buff.split('\r\n\r\n')
requests = filter(None, requests)
- requests = [r + '\r\n\r\n' for r in requests]
- requests = [r.lstrip() for r in requests]
+ requests = [r.lstrip() + '\r\n\r\n' for r in requests]
+ self.buff = ''
return requests
@@ -63,4 +62,5 @@ class ResponseParser: webhttp.Response
"""
response = webhttp.message.Response()
+ response.parse(buff)
return response
|