--- parser3/src/include/pa_request.h 2001/03/24 15:57:59 1.69 +++ parser3/src/include/pa_request.h 2001/04/08 13:11:17 1.80 @@ -5,7 +5,7 @@ Author: Alexander Petrosyan (http://design.ru/paf) - $Id: pa_request.h,v 1.69 2001/03/24 15:57:59 paf Exp $ + $Id: pa_request.h,v 1.80 2001/04/08 13:11:17 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 \ @@ -59,6 +60,7 @@ public: const char *content_type; size_t content_length; const char *cookie; + const char *user_agent; }; Request(Pool& apool, @@ -103,7 +105,7 @@ public: /// appending, sure of clean string inside void write_no_lang(const String& astring) { - wcontext->write(astring, String::UL_NO); + wcontext->write(astring, String::UL_CLEAN); } /// appending string, passing language built into string being written void write_pass_lang(const String& astring) { @@ -119,7 +121,7 @@ public: } /// appending sure value, that would be converted to clean string void write_no_lang(Value& avalue) { - wcontext->write(avalue, String::UL_NO); + wcontext->write(avalue, String::UL_CLEAN); } /// appending sure value, not VString void write_expr_result(Value& avalue) { @@ -136,13 +138,16 @@ public: /// 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; - /// default base - VClass ROOT; + /// operators are methods of this class + VClass OP; /// $env:fields here VEnv env; /// $form:elements here @@ -159,6 +164,13 @@ public: /// contexts WContext *wcontext; + /// connection + SQL_Connection *connection; + /// table of protocol's libraries. read from $SQL:drivers + Table *protocol2library; + /// mail options + Hash *mail; + private: // core data // classes @@ -192,6 +204,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) { @@ -205,7 +222,7 @@ private: // lang manipulation private: - void output_result(const String& body_string, bool header_only); + void output_result(const VFile& body_file, bool header_only); }; /// Auto-object used for temporary changing Request::flang.