protected:
std::map<std::string,std::string> headers;
public:
-
+
/** Set the value of a header
* Sets the value of the named header. If the header is already present, it will be replaced
*/
{
headers[name] = data;
}
-
+
/** Set the value of a header, only if it doesn't exist already
* Sets the value of the named header. If the header is already present, it will NOT be updated
*/
if (!IsSet(name))
SetHeader(name, data);
}
-
+
/** Remove the named header
*/
void RemoveHeader(const std::string &name)
{
headers.erase(name);
}
-
+
/** Remove all headers
*/
void Clear()
{
headers.clear();
}
-
+
/** Get the value of a header
* @return The value of the header, or an empty string
*/
std::map<std::string,std::string>::iterator it = headers.find(name);
if (it == headers.end())
return std::string();
-
+
return it->second;
}
-
+
/** Check if the given header is specified
* @return true if the header is specified
*/
std::map<std::string,std::string>::iterator it = headers.find(name);
return (it != headers.end());
}
-
+
/** Get all headers, formatted by the HTTP protocol
* @return Returns all headers, formatted according to the HTTP protocol. There is no request terminator at the end
*/
std::string GetFormattedHeaders()
{
std::string re;
-
+
for (std::map<std::string,std::string>::iterator i = headers.begin(); i != headers.end(); i++)
re += i->first + ": " + i->second + "\r\n";
-
+
return re;
}
};
std::string document;
std::string ipaddr;
std::string postdata;
-
+
public:
HTTPHeaders *headers;
-
+ int errorcode;
+
/** A socket pointer, which you must return in your HTTPDocument class
* if you reply to this request.
*/
public:
HTTPHeaders headers;
-
+
/** The socket pointer from an earlier HTTPRequest
*/
void* sock;