--- parser3/src/include/pa_request.h 2001/04/04 06:16:19 1.76 +++ parser3/src/include/pa_request.h 2001/04/28 08:43:53 1.84 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: pa_request.h,v 1.76 2001/04/04 06:16:19 paf Exp $ + $Id: pa_request.h,v 1.84 2001/04/28 08:43:53 paf Exp $ */ #ifndef PA_REQUEST_H @@ -23,6 +23,7 @@ #include "pa_vrequest.h" #include "pa_vresponse.h" #include "pa_vcookie.h" +#include "pa_sql_driver_manager.h" #ifndef NO_STRING_ORIGIN # define COMPILE_PARAMS \ @@ -42,6 +43,7 @@ #endif class Temp_lang; +class Methoded; /// Main workhorse. class Request : public Pooled { @@ -127,23 +129,24 @@ public: wcontext->write(avalue); } - /// handy is-value-a-junction ensurer - void fail_if_junction_(bool is, Value& value, - const String& method_name, const char *msg); - /// returns relative to @a path path to @a file const String& relative(const char *apath, const String& relative_name); /// returns an absolute @a path to relative @a name const String& absolute(const String& relative_name); + /// returns the mime type of 'user_file_name_cstr' + const String& mime_type_of(const char *user_file_name_cstr); + public: /// info from web server Info& info; + /// user's post data + char *post_data; size_t post_size; - /// default base - VClass ROOT; + /// operators are methods of this class + Methoded& OP; /// $env:fields here VEnv env; /// $form:elements here @@ -155,16 +158,19 @@ public: /// $cookie: VCookie cookie; - /// $MAIN:MIME-TYPES - Table *mime_types; - /// contexts Value *self, *root, *rcontext; /// contexts WContext *wcontext; /// connection - const String *connection; + SQL_Connection *connection; + /// table of protocol's libraries. read from $SQL:drivers + Table *protocol2library; + /// mail options + Hash *mail; + /// PCRE character tables + unsigned char *pcre_tables; private: // core data @@ -199,6 +205,11 @@ private: // defaults const String::Untaint_lang fdefault_lang; Value *default_content_type; +private: // mime types + + /// $MAIN:MIME-TYPES + Table *mime_types; + private: // lang manipulation String::Untaint_lang set_lang(String::Untaint_lang alang) {