changed http version to protocol

This commit is contained in:
overflowerror 2019-03-07 17:42:41 +01:00
parent 20d6ff66c1
commit 8cbbd9a40a
3 changed files with 22 additions and 10 deletions

View file

@ -166,8 +166,8 @@ int headers_metadata(struct metaData* metaData, char* header) {
char* _path = strtok(NULL, " "); char* _path = strtok(NULL, " ");
if (_path == NULL) if (_path == NULL)
return HEADERS_PARSE_ERROR; return HEADERS_PARSE_ERROR;
char* _httpVersion = strtok(NULL, " "); char* _protocol = strtok(NULL, " ");
if (_httpVersion == NULL) if (_protocol == NULL)
return HEADERS_PARSE_ERROR; return HEADERS_PARSE_ERROR;
char* _null = strtok(NULL, " "); char* _null = strtok(NULL, " ");
@ -205,11 +205,11 @@ int headers_metadata(struct metaData* metaData, char* header) {
else else
return HEADERS_PARSE_ERROR; return HEADERS_PARSE_ERROR;
enum httpVersion httpVersion; enum protocol protocol;
if (strcmp(_httpVersion, "HTTP/1.0") == 0) if (strcmp(_protocol, "HTTP/1.0") == 0)
httpVersion = HTTP10; protocol = HTTP10;
else if (strcmp(_httpVersion, "HTTP/1.1") == 0) else if (strcmp(_protocol, "HTTP/1.1") == 0)
httpVersion = HTTP11; protocol = HTTP11;
else else
return HEADERS_PARSE_ERROR; return HEADERS_PARSE_ERROR;
@ -236,7 +236,7 @@ int headers_metadata(struct metaData* metaData, char* header) {
strcat(uri, queryString); strcat(uri, queryString);
metaData->method = method; metaData->method = method;
metaData->httpVersion = httpVersion; metaData->protocol = protocol;
metaData->path = path; metaData->path = path;
metaData->queryString = queryString; metaData->queryString = queryString;
metaData->uri = uri; metaData->uri = uri;
@ -268,3 +268,14 @@ const char* methodString(struct metaData metaData) {
return NULL; return NULL;
} }
} }
const char* protocolString(struct metaData metaData) {
switch(metaData.protocol) {
case HTTP10:
return "HTTP/1.0";
case HTTP11:
return "HTTP/1.1";
default:
return NULL;
}
}

View file

@ -30,5 +30,6 @@ void headers_dump(struct headers* headers, FILE* stream);
int headers_metadata(struct metaData* metaData, char* header); int headers_metadata(struct metaData* metaData, char* header);
const char* methodString(struct metaData metaData); const char* methodString(struct metaData metaData);
const char* protocolString(struct metaData metaData);
#endif #endif

View file

@ -11,13 +11,13 @@ enum method {
GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH
}; };
enum httpVersion { enum protocol {
HTTP10, HTTP11 HTTP10, HTTP11
}; };
struct metaData { struct metaData {
enum method method; enum method method;
enum httpVersion httpVersion; enum protocol protocol;
char* path; char* path;
char* queryString; char* queryString;
char* uri; char* uri;