From 788ad4f86a3d5ff5be16398ce5dd7423a6a504cf Mon Sep 17 00:00:00 2001 From: "romain.gabet.etu" <romain.gabet.etu@univ-lille.fr> Date: Sat, 27 Mar 2021 18:28:23 +0100 Subject: [PATCH] recherche fichier ok --- webserver/.client.c.swp | Bin 1024 -> 1024 bytes webserver/.document.txt.swp | Bin 0 -> 1024 bytes webserver/.nano.swp | Bin 0 -> 1024 bytes webserver/client.c | 52 +++++++++++++++++++++++------------- webserver/client.o | Bin 16096 -> 17056 bytes webserver/document.txt | 3 +++ webserver/pawnee | Bin 32600 -> 32744 bytes webserver/test | 1 - webserver/test/document.txt | 3 +++ 9 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 webserver/.document.txt.swp create mode 100644 webserver/.nano.swp create mode 100644 webserver/document.txt delete mode 100644 webserver/test create mode 100644 webserver/test/document.txt diff --git a/webserver/.client.c.swp b/webserver/.client.c.swp index 85562012ec61da5cccdedab3ac697f1451f291d0..89bfb748a7ce25b0d9b9abd494ac610f6ec1825b 100644 GIT binary patch delta 13 UcmZqRXyBM2!Ss}Sqtr8I038toUjP6A delta 13 UcmZqRXyBM2!L*!hqtr8I02_n^8~^|S diff --git a/webserver/.document.txt.swp b/webserver/.document.txt.swp new file mode 100644 index 0000000000000000000000000000000000000000..54dd4c4c00b2fab3b7db91a173d9677d338c3341 GIT binary patch literal 1024 zcmYc?$V<%2S1{HyVn6{=Tnr59iAkv?MJU2pImD_<$xklLP0cIOE2${KYS5_QXb6mk I09``>0D40WEdT%j literal 0 HcmV?d00001 diff --git a/webserver/.nano.swp b/webserver/.nano.swp new file mode 100644 index 0000000000000000000000000000000000000000..9a0a707f9ff6e8d7a6a754ec740646d767a2cf9a GIT binary patch literal 1024 ycmYc?$V<%2S1{HyVn6}&IT;wz6O&R)ico~Ha)?z2vI(mJqk^L$Fd6~_5&{7CQVK8t literal 0 HcmV?d00001 diff --git a/webserver/client.c b/webserver/client.c index d4c1fcf..f0d43e8 100644 --- a/webserver/client.c +++ b/webserver/client.c @@ -15,8 +15,10 @@ int copy(FILE* in, FILE* out){ int ch; if(in && out){ - while((ch =( fgetc(in))!= EOF) ){ + ch = fgetc(in); + while(ch != EOF ){ fputc(ch,out); + ch=fgetc(in); } }else{ //error reading @@ -35,21 +37,31 @@ int get_file_size(int fd){ } FILE* check_and_open(const char* target, const char *document_root){ - char*tmp=""; + printf("check and open test\n"); + char tmp[300]=""; strcat(tmp,target); strcat(tmp,"/"); strcat(tmp,document_root); + + printf("testons"); + printf("check and open tmp : %s/%s \n tmp : %s \n",target,document_root,tmp); return fopen(tmp,"r"); } char* rewrite_target(char *target){ char* ret = strrchr(target, '?'); - char* rep = malloc(strlen(target)*sizeof(char)); - if (ret!= NULL){ - size_t i = (int)(strlen(target)-strlen(ret)); - rep = strncpy(rep,target,i); - } - return rep; + printf("rewrite target ret : %s\n",ret); + if(ret != NULL){ + char* rep = malloc(strlen(target)*sizeof(char)); + size_t i = (int)(strlen(target)-strlen(ret)); + rep = strncpy(rep,target+1,i-1); + return rep; + }else{ + char* rep = malloc(strlen(target)*sizeof(char)); + size_t i = (int)(strlen(target)); + rep = strncpy(rep,target+1,i); + return rep; + } } @@ -99,13 +111,13 @@ void send_response(FILE *client, int code, const char *reason_phrase, const char int traitementClient(int socket_client){ /* On peut maintenant dialoguer avec le client */ char *motd="Votre requète est bonne"; - printf("test"); + printf("test\n"); char str[8000]; http_request request; FILE *fd; fd = fdopen(socket_client, "a+"); if(fd == NULL) { - perror("Error opening file"); + perror("Error opening file\n"); exit(1); } //fprintf(fd,"pas d'erreurs d'ouverture\n"); @@ -118,7 +130,7 @@ int traitementClient(int socket_client){ }else{ send_response(fd, 400, "Bad Request", "Bad request"); } - }else if (strcmp(request.target, "/test?aled") == 0){ + }else if (strcmp(request.target, "/") == 0){ send_response(fd, 200, "OK", motd); //--- }else{ @@ -128,16 +140,18 @@ int traitementClient(int socket_client){ //partie 7 char* absolute_path = rewrite_target(request.target); printf("test - - - - - - - - %s\n",absolute_path); + FILE* fichier = check_and_open(absolute_path, "document.txt"); + fprintf(fd,"fichier : \n"); if(fichier == NULL){ - send_response(fd, 404, "Not Found", "Not Found"); - } - int size = get_file_size(fileno(fichier)); - if(copy(fichier,fd)==-1){ + send_response(fd, 404, "Not Found2", "Not Found2"); + }else{ + int size = get_file_size(fileno(fichier)); + if(copy(fichier,fd)==-1){ //error - } - fprintf(fd,"Size : %d",size); - + } + fprintf(fd,"Size : %d\n",size); + } fclose(fd); - return 0; + return 0; } diff --git a/webserver/client.o b/webserver/client.o index 16d98872480019bf02398d079acc861bda362bc9..7c8cbca5fa3bfa1170d9f816730c56282f35a0f3 100644 GIT binary patch delta 5503 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 delta 4423 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 bGUxmOYH~0zFz8KobTa4sU;#0F1IP;iA1Yus diff --git a/webserver/document.txt b/webserver/document.txt new file mode 100644 index 0000000..8eca45c --- /dev/null +++ b/webserver/document.txt @@ -0,0 +1,3 @@ +testons +le +fopen diff --git a/webserver/pawnee b/webserver/pawnee index 877257081730a5dd19685f0d9fa8d586c83b0b75..64b0a4f448da27deb176f20f2ac22a8016a27c44 100755 GIT binary patch delta 4320 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%0A%-)^PcEu*V{&JjysJu&3u#2*Q<WJP z1E_}$Qm4GxsJe}bF>~_HT64}?XzsV3{Ik}ab4M^p0RzLT$(D8IOi3}5i|Xtce@xz3 TXU~*TF!@uR9pnAUhV|+IRy#_z delta 3813 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 diff --git a/webserver/test b/webserver/test deleted file mode 100644 index 083bdf6..0000000 --- a/webserver/test +++ /dev/null @@ -1 +0,0 @@ -testons diff --git a/webserver/test/document.txt b/webserver/test/document.txt new file mode 100644 index 0000000..8eca45c --- /dev/null +++ b/webserver/test/document.txt @@ -0,0 +1,3 @@ +testons +le +fopen -- GitLab