summaryrefslogtreecommitdiffstats
path: root/src/core/url_request_custom_job_delegate.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-04-30 15:15:02 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-05-13 11:18:31 +0000
commit3b585086049089224422e6f839485be5a4235524 (patch)
tree51de03f5a29a16b0fa4909346a63cbeaf2122d5b /src/core/url_request_custom_job_delegate.cpp
parent78de547bc25b708000f6ee725be8cbde7c373d4f (diff)
Add redirect and error API for custom URL
Adds API for failing or redirecting custom URL requests. Change-Id: Ia633bff2c0b8484fd6fdb8d42982fda2e427db4c Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/core/url_request_custom_job_delegate.cpp')
-rw-r--r--src/core/url_request_custom_job_delegate.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/core/url_request_custom_job_delegate.cpp b/src/core/url_request_custom_job_delegate.cpp
index d324da347..caf7a0e3e 100644
--- a/src/core/url_request_custom_job_delegate.cpp
+++ b/src/core/url_request_custom_job_delegate.cpp
@@ -38,6 +38,7 @@
#include "url_request_custom_job_delegate.h"
#include "type_conversion.h"
+#include "net/base/net_errors.h"
#include <QByteArray>
@@ -63,4 +64,40 @@ void URLRequestCustomJobDelegate::setReply(const QByteArray &contentType, QIODev
m_job->setReplyDevice(device);
}
+void URLRequestCustomJobDelegate::abort()
+{
+ m_job->abort();
+}
+
+void URLRequestCustomJobDelegate::redirect(const QUrl &url)
+{
+ m_job->redirect(toGurl(url));
+}
+
+void URLRequestCustomJobDelegate::fail(Error error)
+{
+ int net_error = 0;
+ switch (error) {
+ case NoError:
+ break;
+ case UrlInvalid:
+ net_error = net::ERR_INVALID_URL;
+ break;
+ case UrlNotFound:
+ net_error = net::ERR_FILE_NOT_FOUND;
+ break;
+ case RequestAborted:
+ net_error = net::ERR_ABORTED;
+ break;
+ case RequestDenied:
+ net_error = net::ERR_ACCESS_DENIED;
+ break;
+ case RequestFailed:
+ net_error = net::ERR_FAILED;
+ break;
+ }
+ if (net_error)
+ m_job->fail(net_error);
+}
+
} // namespace