issues
search
u413-284-si
/
webserv
This project is about setting up a http web server, providing a static website.
MIT License
0
stars
0
forks
source link
70 require host header in each request
#73
Open
u413-284-si
opened
4 days ago
u413-284-si
commented
4 days ago
Overview
Check for missing host header
Check for empty host header value
Check for multiple host headers in request
Determine if host value is ip (w or w/o port) or a hostname
Check for valid ip (w or w/o port)
Check for valid hostname
Code restructure
Check for not allowed method
Tests
re 1.
simple check if Host header is present in std::map<std::string, std::string> headers, if not throw
re 2.
simple check if the value of the Host header is empty, if yes throw
re 3.
during parsing of the respective headers, check if there is more than one host header in the request, if yes throw
re 4.
Host value can be either a hostname or an ip address (with or without a port)
implemented check to differentiate
re 5.
use Chris' methods to check for valid ip address and/or port
therefore moved isIpAddressValid() and isPortValid() to utilities as it is shared
re 6.
if is not an ip address, then see if it is a valid hostname
criteria follow RFC 1035, 1123 and 3986
detailed description in code documentation
re 7.
as mentioned moved Chris' methods
restructured RequestParser to align with header file and its structure
re 8.
create new method to check for allowed methods if there is a body
set httpStatus to StatusMethodNotAllowed instead of general StatusBadRequest -> general check should be performed to specify status code
re 9.
add new unittests to test various valid and invalid host headers
closes #70
Overview
re 1.
re 2.
re 3.
re 4.
re 5.
re 6.
re 7.
re 8.
re 9.
closes #70