Diff for /parser3/src/include/pa_request.h between versions 1.178 and 1.187

version 1.178, 2005/07/26 12:54:09 version 1.187, 2007/10/22 16:38:20
Line 1 Line 1
 /** @file  /** @file
         Parser: request class decl.          Parser: request class decl.
   
         Copyright (c) 2001-2004 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
 */  */
   
Line 18  static const char * const IDENT_REQUEST_ Line 18  static const char * const IDENT_REQUEST_
 #include "pa_request_info.h"  #include "pa_request_info.h"
 #include "pa_request_charsets.h"  #include "pa_request_charsets.h"
 #include "pa_sapi.h"  #include "pa_sapi.h"
   #include "pa_vconsole.h"
   
 #ifdef RESOURCES_DEBUG  #ifdef RESOURCES_DEBUG
 #include <sys/resource.h>  #include <sys/resource.h>
Line 33  const size_t pseudo_file_no__process=1; Line 34  const size_t pseudo_file_no__process=1;
 class Temp_lang;  class Temp_lang;
 class Methoded;  class Methoded;
 class VMethodFrame;  class VMethodFrame;
 class GdomeDOMString_auto_ptr;  
 class VMail;  class VMail;
 class VForm;  class VForm;
 class VResponse;  class VResponse;
Line 64  public: Line 64  public:
                 const Operation::Origin origin() const { return forigin; }                  const Operation::Origin origin() const { return forigin; }
         };          };
   
           enum Skip {
                   SKIP_NOTHING,
                   SKIP_BREAK,
                   SKIP_CONTINUE
           };
   
 private:  private:
         Pool fpool;          Pool fpool;
 public:  public:
Line 145  public: Line 151  public:
         //@}          //@}
         /// interrupted flag, raised on signals [SIGPIPE]          /// interrupted flag, raised on signals [SIGPIPE]
         bool finterrupted;          bool finterrupted;
           Skip fskip;
   
 public:  public:
         uint register_file(String::Body file_spec);          uint register_file(String::Body file_spec);
Line 199  public: Line 206  public:
                 // anti_endless_execute_recoursion                  // anti_endless_execute_recoursion
                 if(++anti_endless_execute_recoursion==ANTI_ENDLESS_EXECUTE_RECOURSION) {                  if(++anti_endless_execute_recoursion==ANTI_ENDLESS_EXECUTE_RECOURSION) {
                         anti_endless_execute_recoursion=0; // give @exception a chance                          anti_endless_execute_recoursion=0; // give @exception a chance
                         throw Exception("parser.runtime",                          throw Exception(PARSER_RUNTIME,
                                 0, //&name,                                  0, //&name,
                                 "call canceled - endless recursion detected");                                  "call canceled - endless recursion detected");
                 }                  }
Line 287  public: Line 294  public:
         /// returns current SQL connection if any          /// returns current SQL connection if any
         SQL_Connection* connection(bool fail_on_error=true) {           SQL_Connection* connection(bool fail_on_error=true) { 
                 if(fail_on_error && !fconnection)                  if(fail_on_error && !fconnection)
                         throw Exception("parser.runtime",                          throw Exception(PARSER_RUNTIME,
                                 0,                                  0,
                                 "outside of 'connect' operator");                                  "outside of 'connect' operator");
   
Line 297  public: Line 304  public:
         void set_interrupted(bool ainterrupted) { finterrupted=ainterrupted; }          void set_interrupted(bool ainterrupted) { finterrupted=ainterrupted; }
         bool get_interrupted() { return finterrupted; }          bool get_interrupted() { return finterrupted; }
   
           void set_skip(Skip askip) { fskip=askip; }
           Skip get_skip() { return fskip; }
   
 public:  public:
                   
         /// info from web server          /// info from web server
Line 318  public: Line 328  public:
         VResponse& response;          VResponse& response;
         /// $cookie:elements          /// $cookie:elements
         VCookie& cookie;          VCookie& cookie;
           /// $console
           VConsole& console;
   
         /// classes configured data          /// classes configured data
         Hash<const String::Body, void*> classes_conf;          Hash<const String::Body, void*> classes_conf;
Line 351  public: // status read methods Line 363  public: // status read methods
                 Execute_nonvirtual_method_result(): string(0), method(0) {}                  Execute_nonvirtual_method_result(): string(0), method(0) {}
         };          };
         Execute_nonvirtual_method_result execute_nonvirtual_method(VStateless_class& aclass,           Execute_nonvirtual_method_result execute_nonvirtual_method(VStateless_class& aclass, 
                 const String& method_name, VString* optional_param,                  const String& method_name,
                   VString* optional_param,
                 bool do_return_string);                  bool do_return_string);
         //}          //}
   
Line 359  public: // status read methods Line 372  public: // status read methods
 public: // charset helpers  public: // charset helpers
   
         /// @see Charset::transcode          /// @see Charset::transcode
         GdomeDOMString_auto_ptr transcode(const String& s);          xmlChar* transcode(const String& s);
         /// @see Charset::transcode          /// @see Charset::transcode
         GdomeDOMString_auto_ptr transcode(const String::Body s);          xmlChar* transcode(const String::Body s);
         /// @see Charset::transcode          /// @see Charset::transcode
         const String& transcode(GdomeDOMString* s);          const String& transcode(const xmlChar* s);
         /// @see Charset::transcode  
         const String& transcode(xmlChar* s);  
   
 #endif  #endif
   
Line 499  public: Line 510  public:
   
 // defines for externs  // defines for externs
   
   #define CONTENT_TRANSFER_ENCODING_NAME "content-transfer-encoding"
 #define CONTENT_DISPOSITION_NAME "content-disposition"  #define CONTENT_DISPOSITION_NAME "content-disposition"
 #define CONTENT_DISPOSITION_VALUE "attachment"  #define CONTENT_DISPOSITION_ATTACHMENT "attachment"
   #define CONTENT_DISPOSITION_INLINE "inline"
 #define CONTENT_DISPOSITION_FILENAME_NAME "filename"  #define CONTENT_DISPOSITION_FILENAME_NAME "filename"
   
 #define EXCEPTION_HANDLED_PART_NAME "handled"  #define EXCEPTION_HANDLED_PART_NAME "handled"
   
   
Line 510  public: Line 524  public:
 extern const String main_method_name;  extern const String main_method_name;
 extern const String auto_method_name;  extern const String auto_method_name;
 extern const String body_name;  extern const String body_name;
   
   extern const String content_transfer_encoding_name;
 extern const String content_disposition_name;  extern const String content_disposition_name;
 extern const String content_disposition_value;  extern const String content_disposition_attachment;
   extern const String content_disposition_inline;
 extern const String content_disposition_filename_name;  extern const String content_disposition_filename_name;
   
 extern const String exception_type_part_name;  extern const String exception_type_part_name;

Removed from v.1.178  
changed lines
  Added in v.1.187


E-mail: