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: