|
|
| version 1.283, 2026/10/10 02:01:15 | version 1.288, 2026/10/16 13:55:16 |
|---|---|
| Line 16 | Line 16 |
| #include "pa_wcontext.h" | #include "pa_wcontext.h" |
| #include "pa_value.h" | #include "pa_value.h" |
| #include "pa_vhash.h" | #include "pa_vhash.h" |
| #include "pa_vresponse.h" | |
| #include "pa_stack.h" | #include "pa_stack.h" |
| #include "pa_request_info.h" | #include "pa_request_info.h" |
| #include "pa_request_charsets.h" | #include "pa_request_charsets.h" |
| Line 37 const size_t pseudo_file_no__process=1; | Line 38 const size_t pseudo_file_no__process=1; |
| // forwards | // forwards |
| class Temp_lang; | |
| class Methoded; | class Methoded; |
| class VMethodFrame; | class VMethodFrame; |
| class VMail; | class VMail; |
| class VForm; | class VForm; |
| class VResponse; | |
| class VCookie; | class VCookie; |
| class VStateless_class; | class VStateless_class; |
| class VConsole; | class VConsole; |
| class WebSocket; | |
| class VException; | class VException; |
| extern int pa_loop_limit; | extern int pa_loop_limit; |
| Line 58 class Code_cache; | Line 58 class Code_cache; |
| /// Main workhorse. | /// Main workhorse. |
| class Request: public PA_Object { | class Request: public PA_Object { |
| friend class Temp_lang; | |
| friend class Temp_connection; | friend class Temp_connection; |
| friend class Temp_request_self; | friend class Temp_request_self; |
| friend class Temp_value_element; | friend class Temp_value_element; |
| Line 170 public: | Line 169 public: |
| VMethodFrame* method_frame; | VMethodFrame* method_frame; |
| Value* rcontext; | Value* rcontext; |
| WContext* wcontext; | WContext* wcontext; |
| /// current language | |
| String::Language flang; | |
| /// current connection | /// current connection |
| SQL_Connection* fconnection; | SQL_Connection* fconnection; |
| //@} | //@} |
| Line 216 public: | Line 213 public: |
| */ | */ |
| void core(const char* config_filespec, const String& amain_method_name = main_method_name, const String* amain_class_name = NULL); | void core(const char* config_filespec, const String& amain_method_name = main_method_name, const String* amain_class_name = NULL); |
| /// ^response:stream[part]: the headers go with the first part | |
| void stream(Value& part); | |
| /// sends headers and sets response.started | |
| void start(VResponse::Started mode); | |
| /// executes ops | /// executes ops |
| void execute(ArrayOperation& ops); // execute.C | void execute(ArrayOperation& ops); // execute.C |
| Line 356 public: | Line 359 public: |
| VCookie& cookie; | VCookie& cookie; |
| /// $console | /// $console |
| VConsole& console; | VConsole& console; |
| /// inited in httpd mode | |
| WebSocket* websocket; | |
| /// classes configured data | /// classes configured data |
| HashString<void*> classes_conf; | HashString<void*> classes_conf; |
| Line 411 private: // execute.C | Line 416 private: // execute.C |
| Value& get_element4call(Value& ncontext, const String& name); | Value& get_element4call(Value& ncontext, const String& name); |
| #endif | #endif |
| private: // defaults | |
| const String::Language fdefault_lang; | |
| private: // mime types | private: // mime types |
| /// $MAIN:MIME-TYPES | /// $MAIN:MIME-TYPES |
| Line 468 class Request_context_saver { | Line 469 class Request_context_saver { |
| VMethodFrame* method_frame; | VMethodFrame* method_frame; |
| Value* rcontext; | Value* rcontext; |
| WContext* wcontext; | WContext* wcontext; |
| /// current language | |
| String::Language flang; | |
| /// current connection | /// current connection |
| SQL_Connection* fconnection; | SQL_Connection* fconnection; |
| Line 481 public: | Line 480 public: |
| method_frame(ar.method_frame), | method_frame(ar.method_frame), |
| rcontext(ar.rcontext), | rcontext(ar.rcontext), |
| wcontext(ar.wcontext), | wcontext(ar.wcontext), |
| flang(ar.flang), | |
| fconnection(ar.fconnection) {} | fconnection(ar.fconnection) {} |
| void restore() { | void restore() { |
| fr.stack.set_top_index(stack); | fr.stack.set_top_index(stack); |
| fr.anti_endless_execute_recursion=anti_endless_execute_recursion; | fr.anti_endless_execute_recursion=anti_endless_execute_recursion; |
| fr.method_frame=method_frame, fr.rcontext=rcontext; fr.wcontext=wcontext; | fr.method_frame=method_frame, fr.rcontext=rcontext; fr.wcontext=wcontext; |
| fr.flang=flang; | |
| fr.fconnection=fconnection; | fr.fconnection=fconnection; |
| } | } |
| }; | }; |