First commit; added functions for retrieving different parts of a URL
commit
833e1027cc
@ -0,0 +1,49 @@
|
|||||||
|
#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;
|
||||||
|
}
|
Loading…
Reference in New Issue