You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
748 B
C

#include "url.h"
#include <string.h>
#include <stdlib.h>
struct URL_s {
char* schema;
char* hostname;
char* port;
char* filepath;
};
char* get_schema(URL* url) {
return url->schema;
}
char* get_hostname(URL* url) {
return url->hostname;
}
char* get_port(URL* url) {
return url->port;
}
char* get_filepath(URL* url) {
return url->filepath;
}
URL* new_url(char* url_str) {
char* url_dup = strdup(url_str);
URL* url = malloc(sizeof(struct URL_s));
url->schema = strtok(url_dup,":");
url->hostname = strtok(NULL,"/");
if (strcmp(url->schema,"http") == 0) {
url->port = "80";
} else {
url->port = "443";
}
url->filepath = strtok(NULL,"/");
if (url->filepath == NULL) {
url->filepath = "/index.html";
}
return url;
}