First commit; added functions for retrieving different parts of a URL
This commit is contained in:
		
							
								
								
									
										49
									
								
								url.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								url.c
									
									
									
									
									
										Normal file
									
								
							| @@ -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; | ||||
| } | ||||
		Reference in New Issue
	
	Block a user