#ifndef _http #define _http // Macros #include "stdlib.h" extern char * __ClassNames[]; // Includes #include #include #include #include #include #include #include #include #include #include #include #include "./mimeTypes.h" #include "./text.h" #include "./fileSystem.h" typedef struct http{ unsigned short __classIndex; int socket; struct sockaddr_in * hostAddress; int hostAddresslength; struct fileSystem * filesystem; struct mimeTypes * mimetypes; struct headerManager * headers; int useSSL; SSL_CTX * sslContext; void ( * requestCallback )( struct request * requestInstance, struct text * response ); } http; void http_createServer( http * this, void ( * requestCallback )( request * req, text * response ) ); void http_initializeOpenSSL( http * this ); int http_listen( http * this, int port ); char * http_getExtension( http * this, char * path ); void http_logRequest( http * this, request * requestInstance ); void http_acceptConnection( http * this ); void http_dump_buffer( http * this, void *buffer, int buffer_size ); void abort( ); http http_new( ); http * http_newPointer( ); #endif