fhq-server  v0.2.33
Documentation for fhq-server. FreeHackQuest is an open source platform for competitions of computer security.
wsjcpp_light_web_http_request.h
Go to the documentation of this file.
1 #ifndef WSJCPP_LIGHT_WEB_HTTP_REQUEST_H
2 #define WSJCPP_LIGHT_WEB_HTTP_REQUEST_H
3 
4 #include <string>
5 #include <map>
6 #include <vector>
7 
8 // ---------------------------------------------------------------------
9 
11  public:
12  WsjcppLightWebHttpRequestQueryValue(const std::string &sName, const std::string &sValue);
13  std::string getName() const;
14  std::string getValue() const;
15  private:
16  std::string m_sName;
17  std::string m_sValue;
18 };
19 
20 // ---------------------------------------------------------------------
21 
23  public:
25  int nSockFd,
26  const std::string &sAddress
27  );
29 
30  int getSockFd() const;
31  std::string getUniqueId() const;
32  void appendRecieveRequest(const std::string &sRequestPart);
33  bool isEnoughAppendReceived() const;
34 
35  std::string getAddress() const;
36  std::string getRequestType() const;
37  std::string getRequestPath() const;
38  std::string getRequestBody() const;
39  std::string getRequestHttpVersion() const;
40  const std::vector<WsjcppLightWebHttpRequestQueryValue> &getRequestQueryParams();
41 
42  private:
43  std::string TAG;
44 
45  void parseFirstLine(const std::string &sHeader);
46 
50  ENDED
51  };
52  int m_nSockFd;
53  bool m_bClosed;
55  std::vector<std::string> m_vHeaders;
57  std::string m_sUniqueId;
58  std::string m_sRequest;
59  std::string m_sAddress;
60  std::string m_sRequestType;
61  std::string m_sRequestPath;
62  std::string m_sRequestBody;
63  std::vector<WsjcppLightWebHttpRequestQueryValue> m_vRequestQueryParams;
64  std::string m_sRequestHttpVersion;
65 
67  std::string m_sLastModified;
68 };
69 
70 #endif // WSJCPP_LIGHT_WEB_HTTP_REQUEST_H
71 
72 
int m_nSockFd
Definition: wsjcpp_light_web_http_request.h:52
std::string m_sResponseCacheControl
Definition: wsjcpp_light_web_http_request.h:66
std::string m_sRequestType
Definition: wsjcpp_light_web_http_request.h:60
bool m_bClosed
Definition: wsjcpp_light_web_http_request.h:53
Definition: wsjcpp_light_web_http_request.h:22
std::vector< WsjcppLightWebHttpRequestQueryValue > m_vRequestQueryParams
Definition: wsjcpp_light_web_http_request.h:63
Definition: wsjcpp_light_web_http_request.h:48
std::string TAG
Definition: wsjcpp_light_web_http_request.h:43
std::string m_sRequestHttpVersion
Definition: wsjcpp_light_web_http_request.h:64
std::string m_sRequest
Definition: wsjcpp_light_web_http_request.h:58
Definition: wsjcpp_light_web_http_request.h:49
EnumParserState
Definition: wsjcpp_light_web_http_request.h:47
std::string m_sUniqueId
Definition: wsjcpp_light_web_http_request.h:57
std::string m_sAddress
Definition: wsjcpp_light_web_http_request.h:59
std::string m_sName
Definition: wsjcpp_light_web_http_request.h:16
std::string m_sRequestBody
Definition: wsjcpp_light_web_http_request.h:62
std::string m_sLastModified
Definition: wsjcpp_light_web_http_request.h:67
~WsjcppLightWebHttpRequest()
Definition: wsjcpp_light_web_http_request.h:28
std::string getValue() const
Definition: wsjcpp_light_web_http_request.cpp:21
std::string m_sValue
Definition: wsjcpp_light_web_http_request.h:17
std::string m_sRequestPath
Definition: wsjcpp_light_web_http_request.h:61
std::vector< std::string > m_vHeaders
Definition: wsjcpp_light_web_http_request.h:55
Definition: wsjcpp_light_web_http_request.h:10
std::string getName() const
Definition: wsjcpp_light_web_http_request.cpp:15
WsjcppLightWebHttpRequestQueryValue(const std::string &sName, const std::string &sValue)
Definition: wsjcpp_light_web_http_request.cpp:8
int m_nContentLength
Definition: wsjcpp_light_web_http_request.h:56
EnumParserState m_nParserState
Definition: wsjcpp_light_web_http_request.h:54