Diff for /parser3/src/main/pa_request.C between versions 1.289 and 1.294

version 1.289, 2007/10/22 16:38:36 version 1.294, 2008/06/07 17:29:33
Line 14  static const char * const IDENT_REQUEST_ Line 14  static const char * const IDENT_REQUEST_
 #include "pa_vclass.h"  #include "pa_vclass.h"
 #include "pa_globals.h"  #include "pa_globals.h"
 #include "pa_vint.h"  #include "pa_vint.h"
 #include "pa_vmethod_frame.h"  #include "pa_vmethod_frame_global.h"
 #include "pa_types.h"  #include "pa_types.h"
 #include "pa_venv.h"  #include "pa_venv.h"
 #include "pa_vmath.h"  #include "pa_vmath.h"
Line 160  Request::Request(SAPI_Info& asapi_info, Line 160  Request::Request(SAPI_Info& asapi_info,
         if(status_allowed)          if(status_allowed)
                 classes().put(String::Body(STATUS_CLASS_NAME), new VStatus());                  classes().put(String::Body(STATUS_CLASS_NAME), new VStatus());
         // request class          // request class
         classes().put(String::Body(REQUEST_CLASS_NAME), new VRequest(arequest_info, charsets));           classes().put(String::Body(REQUEST_CLASS_NAME), new VRequest(arequest_info, charsets, form));   
         // cookie class          // cookie class
         classes().put(String::Body(COOKIE_CLASS_NAME), &cookie);          classes().put(String::Body(COOKIE_CLASS_NAME), &cookie);
         // console class          // console class
Line 405  gettimeofday(&mt[2],NULL); Line 405  gettimeofday(&mt[2],NULL);
                                 if(const Method *method=junction->method) {                                  if(const Method *method=junction->method) {
                                         // preparing to pass parameters to                                           // preparing to pass parameters to 
                                         //      @postprocess[data]                                          //      @postprocess[data]
                                         VMethodFrame frame(/*method->name, */ *junction, 0/*no parent*/);                                          VMethodFrameGlobal frame(/*method->name, */ *junction, 0/*no parent*/);
                                         frame.set_self(main_class);                                          frame.set_self(main_class);
   
                                         frame.store_param(*body_value);                                          frame.store_param(*body_value);
Line 467  t[9]-t[3] Line 467  t[9]-t[3]
                                 if(const Method *method=junction->method) {                                  if(const Method *method=junction->method) {
                                         // preparing to pass parameters to                                           // preparing to pass parameters to 
                                         //      @unhandled_exception[exception;stack]                                          //      @unhandled_exception[exception;stack]
                                         VMethodFrame frame(/*method->name, */ *junction, 0/*no caller*/);                                          VMethodFrameGlobal frame(/*method->name, */ *junction, 0/*no caller*/);
                                         frame.set_self(main_class);                                          frame.set_self(main_class);
   
                                         // $exception                                          // $exception
Line 660  public: Line 660  public:
 };  };
 #endif  #endif
 static void add_header_attribute(  static void add_header_attribute(
                                  HashStringValue::key_type aattribute,                                    HashStringValue::key_type name, 
                                  HashStringValue::value_type ameaning,                                    HashStringValue::value_type value, 
                                  Add_header_attribute_info* info) {                                   Add_header_attribute_info* info) {
         if(aattribute==BODY_NAME          if(name==BODY_NAME
                 || aattribute==DOWNLOAD_NAME                  || name==DOWNLOAD_NAME
                 || aattribute==CHARSET_NAME)                  || name==CHARSET_NAME)
                 return;                  return;
           
           const char* aname=String(name, String::L_URI).cstr(String::L_UNSPECIFIED, 0, &info->r.charsets);
   
         const char* a=aattribute.cstr();  
         SAPI::add_header_attribute(info->r.sapi_info,          SAPI::add_header_attribute(info->r.sapi_info,
                 a,                   aname, 
                 attributed_meaning_to_string(*ameaning, String::L_HTTP_HEADER, false).                  attributed_meaning_to_string(*value, String::L_URI, false).cstr(String::L_UNSPECIFIED, 0, &info->r.charsets));
                         cstr(String::L_UNSPECIFIED));  
   
         if(strcasecmp(a, "last-modified")==0)          if(strcasecmp(aname, "last-modified")==0)
                 info->add_last_modified = false;                  info->add_last_modified = false;
 }  }
   

Removed from v.1.289  
changed lines
  Added in v.1.294


E-mail: