00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "../library.h"
00019
00020 #ifndef REQUEST_H
00021 #define REQUEST_H
00022
00023 class Request {
00024
00025 std::string data;
00026
00027
00028 char* envContentLength;
00029
00030
00031 char* postParams;
00032
00033
00034 int contentLength;
00035
00036
00037 size_t size;
00038
00039
00040 std::map<std::string, std::string> headers;
00041
00042
00043 std::vector<std::string> paramsToken;
00044
00045
00046 std::vector<std::string> tokens;
00047
00048
00049
00050 RequestData repository;
00051
00052
00053 std::map<std::string, std::string>::iterator iter;
00054 std::map<std::string, std::string>::iterator paramsIter;
00055
00056
00057 Utils tool;
00058
00059
00060 std::string getPostParams();
00061
00062
00063 void cleanUp();
00064 public:
00065 Request();
00066 ~Request();
00067
00068 void sendHeaders(std::ostream& os = std::cout);
00069
00070
00071 void setHeader(std::string header, std::string value);
00072
00073
00074 void parse();
00075
00076
00077 std::string param(const std::string key);
00078
00079
00080 std::vector<std::string> allParams(const std::string key);
00081
00082
00083 void setParam(const std::string key, const std::string value);
00084
00085
00086 void dumpParams();
00087 };
00088
00089 #endif