26 lines
981 B
C
26 lines
981 B
C
#include <sys/types.h>
|
|
#define BUFFERSIZE 1024 /* max size for recv buffer */
|
|
#define LOOP_BOUNDS 2 // Tolerance of the recv() loop.
|
|
|
|
typedef struct _http_request {
|
|
char method[10];
|
|
char path[BUFFERSIZE];
|
|
char protocol[15];
|
|
} http_request;
|
|
|
|
|
|
/* Forwards. */
|
|
/* Note to Puyan: you do not declare static functions in the header file, kkthx */
|
|
/*static void file_details( char* dir, char* name , FILE *socket_file);
|
|
static void send_error( int status, char* title, char* extra_header, char* text, FILE *socket_file );
|
|
static void send_headers( int status, char* title, char* extra_header, char* mime_type, off_t length, time_t mod, FILE *socket_file );
|
|
static char* get_mime_type( char* name );
|
|
static void strdecode( char* to, char* from );
|
|
static int hexit( char c );
|
|
static void strencode( char* to, size_t tosize, const char* from );*/
|
|
|
|
|
|
void http_proto(int socket, char *request);
|
|
int parse_request(char *request, http_request *package);
|
|
|