Annotation of parser3/src/types/pa_vrequest.h, revision 1.46

1.6       paf         1: /** @file
1.8       paf         2:        Parser: @b request class decl.
1.6       paf         3: 
1.46    ! moko        4:        Copyright (c) 2001-2020 Art. Lebedev Studio (http://www.artlebedev.com)
1.16      paf         5:        Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
1.1       paf         6: */
                      7: 
                      8: #ifndef PA_VREQUEST_H
                      9: #define PA_VREQUEST_H
1.18      paf        10: 
1.46    ! moko       11: #define IDENT_PA_VREQUEST_H "$Id: pa_vrequest.h,v 1.45 2017/02/07 22:00:50 moko Exp $"
1.1       paf        12: 
1.26      paf        13: // includes
                     14: 
1.42      moko       15: #include "pa_sapi.h"
1.34      misha      16: #include "pa_common.h"
1.44      moko       17: #include "pa_vstateless_class.h"
1.1       paf        18: 
1.26      paf        19: // defines
1.9       paf        20: 
1.34      misha      21: #define REQUEST_ARGV_ELEMENT_NAME "argv"
1.42      moko       22: #define REQUEST_BODY_CHARSET_NAME "body-charset"
                     23: #define REQUEST_BODY_BODY_NAME "body-file"
1.35      misha      24: #define POST_CHARSET_NAME "post-charset"
1.38      misha      25: #define POST_BODY_NAME "post-body"
1.1       paf        26: 
1.26      paf        27: // forwards
                     28: 
                     29: class Request_info;
1.35      misha      30: class VForm;
1.26      paf        31: 
1.6       paf        32: /// request class
1.44      moko       33: class VRequest: public VStateless_class {
1.26      paf        34: 
                     35:        Request_info& finfo;
1.42      moko       36:        SAPI_Info& fsapi_info;
1.26      paf        37:        Request_charsets& fcharsets;
1.34      misha      38:        HashStringValue fargv;
1.35      misha      39:        VForm& fform;
1.26      paf        40: 
1.1       paf        41: public: // Value
                     42:        
1.44      moko       43:        override const char* type() const { return "request"; }
1.1       paf        44: 
1.41      misha      45:        /// request: field
1.37      misha      46:        override Value* get_element(const String& name);
1.13      paf        47: 
                     48:        /// request: (key)=value
1.40      moko       49:        override const VJunction* put_element(const String& name, Value* value);
1.1       paf        50: 
                     51: public: // usage
                     52: 
1.42      moko       53:        VRequest(Request_info& ainfo, Request_charsets& acharsets, VForm& aform, SAPI_Info& asapi_info);
1.1       paf        54: 
1.42      moko       55: private:
                     56:        HashStringValue ffields;
                     57:        void fill();
1.1       paf        58: };
                     59: 
                     60: #endif

E-mail: