Compare commits

..

2 Commits

Author SHA1 Message Date
49030166f3 Added new field for entire URL string 2023-05-19 11:17:24 -05:00
d0d1660367 Started working on request constructor 2023-05-19 11:17:06 -05:00
2 changed files with 37 additions and 6 deletions

View File

@@ -1,16 +1,42 @@
#include "stdlib.h" #include <stdlib.h>
#include "url.h" #include "url.h"
#include "request.h" #include "request.h"
#define MAX_BUFFER_SIZE 50000
struct Request_s { struct Request_s {
URL* url; URL* url;
char* req_type; char* req_type;
}; };
Request* new_Request(char* url_str,char* req_type_str) { Request* new_request(char* url_str,char* req_type_str) {
Request* req = malloc(sizeof(struct Request_s)); Request* req = malloc(sizeof(struct Request_s));
req->url = new_url(url_str); req->url = new_url(url_str);
req->req_type = req_type_str; req->req_type = req_type_str;
} }
URL* get_url(Request* req) {
return req->url;
}
char* make_request(Request* req) {
char* request_str = malloc(sizeof(char) * MAX_BUFFER_SIZE);
strcat(request_str,req->req_type);
strcat(request_str," ");
strcat(request_str,req->url->filepath);
strcat(request_str," HTTP/1.1");
strcat(request_str,"\r\n");
strcat(request_str,"Host: ");
strcat(request_str,req->url->hostname);
strcat(request_str,"\r\n\r\n");
if (strcmp(req->url->schema,"http") == 0) {
} else if (strcmp(req->url->schema,"https") == 0) {
}
}

13
url.c
View File

@@ -7,6 +7,7 @@ struct URL_s {
char* hostname; char* hostname;
char* port; char* port;
char* filepath; char* filepath;
char* url_str;
}; };
char* get_schema(URL* url) { char* get_schema(URL* url) {
@@ -26,11 +27,15 @@ char* get_filepath(URL* url) {
} }
URL* new_url(char* url_str) { char* url_to_str(URL* url) {
char* url_dup = strdup(url_str); return url->url_str;
URL* url = malloc(sizeof(struct URL_s)); }
url->schema = strtok(url_dup,":"); URL* new_url(char* url_str) {
URL* url = malloc(sizeof(struct URL_s));
url->url_str = strdup(url_str);
url->schema = strtok(url->url_str,":");
url->hostname = strtok(NULL,"/"); url->hostname = strtok(NULL,"/");