Logo Search packages:      
Sourcecode: parser version File versions  Download package

Request::Request ( SAPI_Info asapi_info,
Request_info arequest_info,
String::Language  adefault_lang,
bool  status_allowed 
)

directly used

methodless

methoded

bases used

Parameters:
adefault_lang  all tainted data default untainting lang
status_allowed  status class allowed

Definition at line 101 of file pa_request.C.

References VStateless_class::base_class(), cache_managers, charsets, classes(), console, cookie, file_list, form, Value::get_class(), VStateless_class::get_class(), VResponse::get_class(), mail, main_class, Cache_managers::maybe_expire(), VStateless_class::name(), pa_register_thread_request(), Hash< K, V >::put(), Methoded_array::register_directly_used(), and response.

                                                                           :
      // private
      anti_endless_execute_recoursion(0),

      // public
      method_frame(0),
      rcontext(0),
      wcontext(0),
      flang(adefault_lang),
      fconnection(0),
      finterrupted(false),fskip(SKIP_NOTHING),

      // public
#ifdef RESOURCES_DEBUG
      sql_connect_time(0),
      sql_request_time(0),
#endif      

      // public
      request_info(arequest_info),
      sapi_info(asapi_info),
      charsets(UTF8_charset, UTF8_charset, UTF8_charset), // default charsets

      main_class(VClassMAIN_create()),
      form(*new VForm(charsets, arequest_info)),
      mail(*new VMail),
      response(*new VResponse(arequest_info, charsets)),
      cookie(*new VCookie(charsets, arequest_info)),
      console(*new VConsole),

      // private
      configure_admin_done(false),

      // private defaults
      fdefault_lang(adefault_lang), 
      // private mime types
      mime_types(0)
{
      pa_register_thread_request(*this);

      // file_no=0 => unknown
      file_list+=String::Body("UNKNOWN");
      file_list+=String::Body("-body of process-"); // pseudo_file_no__process

      // maybe expire old caches
      cache_managers->maybe_expire();
      
      /// directly used
      // MAIN class, operators
      classes().put(main_class.name(), &main_class);
      // classes:
      // table, file, random, mail, image, ...
      methoded_array().register_directly_used(*this);

      /// methodless
      // env class
      classes().put(String::Body(ENV_CLASS_NAME), new VEnv(asapi_info));
      // status class
      if(status_allowed)
            classes().put(String::Body(STATUS_CLASS_NAME), new VStatus());
      // request class
      classes().put(String::Body(REQUEST_CLASS_NAME), new VRequest(arequest_info, charsets, form));   
      // cookie class
      classes().put(String::Body(COOKIE_CLASS_NAME), &cookie);
      // console class
      classes().put(String::Body(CONSOLE_CLASS_NAME), &console);
      /// methoded
      // response class
      classes().put(response.get_class()->name(), &response);

      /// bases used
      // form class
      classes().put(form.get_class()->base_class()->name(), &form);
      // mail class
      classes().put(mail.get_class()->base_class()->name(), &mail);
      // math class
      {
            Value& math=*new VMath;
            classes().put(math.get_class()->base_class()->name(), &math);
      }
      // memory class
      {
            Value& memory=*new VMemory;
            classes().put(memory.get_class()->base_class()->name(), &memory);
      }
}


Generated by  Doxygen 1.6.0   Back to index