1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| void lireRequete(FILE* stream,char repertoireTravail[],char fichierHTMLErreur[],char retour[]) {
char nomFichier[50];
char versionHTTP[30];
strcpy(retour, repertoireTravail);
if( fscanf(stream, "GET /%s HTTP/%s", nomFichier, versionHTTP)!=-1) {
if (nomFichier!=NULL) {
strcat(retour,nomFichier);
}
else {
strcat(retour,fichierHTMLErreur);
}
}
}
int envoyerResultat(FILE* stream, char nomFichier[]) {
fprintf(stream,"HTTP/1.x 200 OK\n");
fprintf(stream,"Content-Type: text/html\n\n");
/* Plus tard ici sera la vérification de l'existence du fichier
et l'envoie de son contenu au lieu de son nom... */
fprintf(stream,nomFichier);
fprintf(stream,"\n");
return 1;
}
int traiterRequete(int socketClient,char *repertoireTravail,char *fichierHTMLErreur) {
char *nomFichier;
FILE* stream;
stream=fdopen(socketClient,"r+");
if (stream!=NULL) {
lireRequete(stream,repertoireTravail,fichierHTMLErreur,nomFichier);
/*printf("%s\n",nomFichier);*/
envoyerResultat(stream,nomFichier);
return 1;
}
else {
printf("ERROR\n");
return 0;
}
fclose(stream);
} |
Partager