diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-04-30 15:15:02 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-05-13 11:18:31 +0000 |
commit | 3b585086049089224422e6f839485be5a4235524 (patch) | |
tree | 51de03f5a29a16b0fa4909346a63cbeaf2122d5b /src/core/url_request_custom_job_delegate.cpp | |
parent | 78de547bc25b708000f6ee725be8cbde7c373d4f (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.cpp | 37 |
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 |