diff --git a/webserver/http.h b/webserver/http.h index 4cd8d76..d8c63b2 100644 --- a/webserver/http.h +++ b/webserver/http.h @@ -1,6 +1,7 @@ #ifndef __HTTP_H__ #define __HTTP_H__ +#include #include #include #include diff --git a/webserver/l7pserv b/webserver/l7pserv index bae15a1..a34e908 100755 Binary files a/webserver/l7pserv and b/webserver/l7pserv differ diff --git a/webserver/makefile.dep b/webserver/makefile.dep index 25130c3..2f24778 100644 --- a/webserver/makefile.dep +++ b/webserver/makefile.dep @@ -1,3 +1,4 @@ http.o: http.c http.h main.o: main.c socket.h http.h socket.o: socket.c socket.h +url.o: url.c url.h diff --git a/webserver/url.c b/webserver/url.c new file mode 100644 index 0000000..9ae5319 --- /dev/null +++ b/webserver/url.c @@ -0,0 +1,25 @@ +#include "url.h" + +char * rewrite_url(char * url) +{ + char *rewrited; + int i; + + i = 0; + while (url[i] != '\0' && url[i] != '?') + { + i++; + } + + rewrited = (char *)malloc(i+1); + strncpy(rewrited, url, i); + rewrited[i+1] = '\0'; + + return rewrited; +} + +int check_and_open(const char * url, const char * document_root) +{ + + return -1; +} diff --git a/webserver/url.h b/webserver/url.h new file mode 100644 index 0000000..7711685 --- /dev/null +++ b/webserver/url.h @@ -0,0 +1,21 @@ +#ifndef __URL_H__ +#define __URL_H__ + +#include +#include +#include + +/** +Retourne l'url sans la partie Query succédant le caractère ? (inclus) +*/ +char * rewrite_url(char * url); + +/** +La fonction doit s’assurer que le fichier est un fichier régulier, ouvrir le fichier en lecture seule et +retourner un descripteur vers ce fichier à l’aide de la fonction open. La fonction doit retourner -1 +en cas d’erreur et un descripteur valide en cas de succès. +*/ +int check_and_open(const char * url, const char * document_root); + + +#endif