mirror of
https://github.com/sigmasternchen/CFloor
synced 2025-03-15 20:28:56 +00:00
added uri + fixes
This commit is contained in:
parent
c5376732ea
commit
20d6ff66c1
3 changed files with 19 additions and 7 deletions
|
@ -196,8 +196,8 @@ int headers_metadata(struct metaData* metaData, char* header) {
|
||||||
method = DELETE;
|
method = DELETE;
|
||||||
else if (strcmp(_method, "CONNECT") == 0)
|
else if (strcmp(_method, "CONNECT") == 0)
|
||||||
method = CONNECT;
|
method = CONNECT;
|
||||||
else if (strcmp(_method, "OPTION") == 0)
|
else if (strcmp(_method, "OPTIONS") == 0)
|
||||||
method = OPTION;
|
method = OPTIONS;
|
||||||
else if (strcmp(_method, "TRACE") == 0)
|
else if (strcmp(_method, "TRACE") == 0)
|
||||||
method = TRACE;
|
method = TRACE;
|
||||||
else if (strcmp(_method, "PATCH") == 0)
|
else if (strcmp(_method, "PATCH") == 0)
|
||||||
|
@ -224,11 +224,22 @@ int headers_metadata(struct metaData* metaData, char* header) {
|
||||||
return HEADERS_ALLOC_ERROR;
|
return HEADERS_ALLOC_ERROR;
|
||||||
}
|
}
|
||||||
strcpy(queryString, _queryString);
|
strcpy(queryString, _queryString);
|
||||||
|
|
||||||
|
char* uri = malloc(strlen(_path) + 1 + strlen(_queryString) + 1);
|
||||||
|
if (uri == NULL) {
|
||||||
|
free(path);
|
||||||
|
free(queryString);
|
||||||
|
return HEADERS_ALLOC_ERROR;
|
||||||
|
}
|
||||||
|
strcpy(uri, path);
|
||||||
|
strcat(uri, "?");
|
||||||
|
strcat(uri, queryString);
|
||||||
|
|
||||||
metaData->method = method;
|
metaData->method = method;
|
||||||
metaData->httpVersion = httpVersion;
|
metaData->httpVersion = httpVersion;
|
||||||
metaData->path = path;
|
metaData->path = path;
|
||||||
metaData->queryString = queryString;
|
metaData->queryString = queryString;
|
||||||
|
metaData->uri = uri;
|
||||||
|
|
||||||
return HEADERS_SUCCESS;
|
return HEADERS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -241,21 +252,19 @@ const char* methodString(struct metaData metaData) {
|
||||||
return "HEAD";
|
return "HEAD";
|
||||||
case POST:
|
case POST:
|
||||||
return "POST";
|
return "POST";
|
||||||
case POST:
|
|
||||||
return "POST";
|
|
||||||
case PUT:
|
case PUT:
|
||||||
return "PUT";
|
return "PUT";
|
||||||
case DELETE:
|
case DELETE:
|
||||||
return "DELETE";
|
return "DELETE";
|
||||||
case CONNECT:
|
case CONNECT:
|
||||||
return "CONNECT";
|
return "CONNECT";
|
||||||
case OPTION:
|
case OPTIONS:
|
||||||
return "OPTION";
|
return "OPTIONS";
|
||||||
case TRACE:
|
case TRACE:
|
||||||
return "TRACE";
|
return "TRACE";
|
||||||
case PATCH:
|
case PATCH:
|
||||||
return "PATCH";
|
return "PATCH";
|
||||||
default:
|
default:
|
||||||
return NULL
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ struct metaData {
|
||||||
enum httpVersion httpVersion;
|
enum httpVersion httpVersion;
|
||||||
char* path;
|
char* path;
|
||||||
char* queryString;
|
char* queryString;
|
||||||
|
char* uri;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -95,6 +95,8 @@ void cleanup() {
|
||||||
free(connection->metaData.path);
|
free(connection->metaData.path);
|
||||||
if (connection->metaData.queryString != NULL)
|
if (connection->metaData.queryString != NULL)
|
||||||
free(connection->metaData.queryString);
|
free(connection->metaData.queryString);
|
||||||
|
if (connection->metaData.uri != NULL)
|
||||||
|
free(connection->metaData.uri);
|
||||||
if (connection->currentHeader != NULL)
|
if (connection->currentHeader != NULL)
|
||||||
free(connection->currentHeader);
|
free(connection->currentHeader);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue