summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2016-10-17 19:53:04 +0100
committerDan Goodliffe <dan@randomdan.homeip.net>2016-10-17 19:53:04 +0100
commit649833d88f5abee52e1f5de061938ed060543d6c (patch)
tree50de8ddd3e336cb6bd963a5164157c70f9b43450
parentNull defaults for optional cookie parts (diff)
downloadicespider-649833d88f5abee52e1f5de061938ed060543d6c.tar.bz2
icespider-649833d88f5abee52e1f5de061938ed060543d6c.tar.xz
icespider-649833d88f5abee52e1f5de061938ed060543d6c.zip
Add a redirect response method
-rw-r--r--icespider/core/ihttpRequest.cpp8
-rw-r--r--icespider/core/ihttpRequest.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/icespider/core/ihttpRequest.cpp b/icespider/core/ihttpRequest.cpp
index 9142b1b..1ca4c38 100644
--- a/icespider/core/ihttpRequest.cpp
+++ b/icespider/core/ihttpRequest.cpp
@@ -125,6 +125,14 @@ namespace IceSpider {
return IceUtil::Optional<T>();
}
+ void IHttpRequest::responseRedirect(const std::string & url, const IceUtil::Optional<std::string> & statusMsg) const
+ {
+ getOutputStream()
+ << "Status: 303 " << (statusMsg ? *statusMsg : "Moved") << "\r\n"
+ << "Location: " << url << "\r\n"
+ << "\r\n";
+ }
+
void IHttpRequest::response(short statusCode, const std::string & statusMsg) const
{
getOutputStream()
diff --git a/icespider/core/ihttpRequest.h b/icespider/core/ihttpRequest.h
index 77b4ad3..0cd0f8b 100644
--- a/icespider/core/ihttpRequest.h
+++ b/icespider/core/ihttpRequest.h
@@ -57,6 +57,7 @@ namespace IceSpider {
return boost::lexical_cast<T>(i->second);
}
}
+ void responseRedirect(const std::string & url, const IceUtil::Optional<std::string> & = IceUtil::None) const;
void setCookie(const std::string &, const std::string &,
const IceUtil::Optional<std::string> & = IceUtil::None, const IceUtil::Optional<std::string> & = IceUtil::None,
bool = false, IceUtil::Optional<time_t> = IceUtil::None);