10 #ifndef __PION_HTTPREQUEST_HEADER__
11 #define __PION_HTTPREQUEST_HEADER__
13 #include <boost/shared_ptr.hpp>
14 #include <pion/PionConfig.hpp>
15 #include <pion/net/HTTPMessage.hpp>
16 #include <pion/net/PionUser.hpp>
36 : m_method(REQUEST_METHOD_GET), m_resource(resource) {}
49 m_original_resource.erase();
50 m_query_string.erase();
51 m_query_params.clear();
52 m_user_record.reset();
59 inline const std::string&
getMethod(
void)
const {
return m_method; }
62 inline const std::string&
getResource(
void)
const {
return m_resource; }
68 inline const std::string&
getQueryString(
void)
const {
return m_query_string; }
71 inline const std::string&
getQuery(
const std::string& key)
const {
72 return getValue(m_query_params, key);
77 return m_query_params;
81 inline bool hasQuery(
const std::string& key)
const {
82 return(m_query_params.find(key) != m_query_params.end());
93 m_resource = m_original_resource = str;
102 m_query_string = str;
107 inline void addQuery(
const std::string& key,
const std::string& value) {
108 m_query_params.insert(std::make_pair(key, value));
112 inline void changeQuery(
const std::string& key,
const std::string& value) {
131 if (! post_content.empty())
132 memcpy(ptr, post_content.c_str(), post_content.size());
142 memcpy(ptr, value.c_str(), value.size());
146 inline void setUser(PionUserPtr user) { m_user_record = user; }
149 inline PionUserPtr
getUser()
const {
return m_user_record; }
161 if (! m_query_string.empty()) {
175 std::string m_method;
178 std::string m_resource;
181 std::string m_original_resource;
184 std::string m_query_string;
190 PionUserPtr m_user_record;
195 typedef boost::shared_ptr<HTTPRequest> HTTPRequestPtr;