diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-07-28 12:10:35 +0300 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2015-07-28 19:27:13 +0300 |
commit | 590d9ab95c4ed97b060a1140597b78d95aa7b770 (patch) | |
tree | bc23cf6a63215e44cfc64a832fe63091b8ba348f /platform/darwin | |
parent | 785b34df2e064b54006617322464a634bb5cd124 (diff) | |
download | qtlocation-mapboxgl-590d9ab95c4ed97b060a1140597b78d95aa7b770.tar.gz |
Created HTTPRequestBase as base for HTTP requests
- Added HTTPRequestBase (inherits from RequestBase)
- retry() is now a pure virtual in HTTPRequestBase
- Moved cancelled bool to HTTPRequestBase
- HTTPContext now handles only HTTPRequestBase*
- Renamed HTTPNSURLRequest, HTTPCURLRequest
Diffstat (limited to 'platform/darwin')
-rw-r--r-- | platform/darwin/http_request_nsurl.mm | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/platform/darwin/http_request_nsurl.mm b/platform/darwin/http_request_nsurl.mm index 10774587c5..a1282cf45b 100644 --- a/platform/darwin/http_request_nsurl.mm +++ b/platform/darwin/http_request_nsurl.mm @@ -15,23 +15,23 @@ namespace mbgl { class HTTPNSURLContext; -class HTTPRequest : public RequestBase { +class HTTPNSURLRequest : public HTTPRequestBase { public: - HTTPRequest(HTTPNSURLContext*, + HTTPNSURLRequest(HTTPNSURLContext*, const Resource&, Callback, uv_loop_t*, std::shared_ptr<const Response>); - ~HTTPRequest(); + ~HTTPNSURLRequest(); - void cancel() override; - void retry() override; + void cancel() final; + void retry() final; private: void start(); void handleResult(NSData *data, NSURLResponse *res, NSError *error); void handleResponse(); - void retry(uint64_t timeout); + void retry(uint64_t timeout) final; HTTPNSURLContext *context = nullptr; bool cancelled = false; @@ -54,7 +54,7 @@ public: HTTPNSURLContext(uv_loop_t *loop); ~HTTPNSURLContext(); - RequestBase* createRequest(const Resource&, + HTTPRequestBase* createRequest(const Resource&, RequestBase::Callback, uv_loop_t*, std::shared_ptr<const Response>) override; @@ -91,17 +91,17 @@ HTTPNSURLContext::~HTTPNSURLContext() { userAgent = nullptr; } -RequestBase* HTTPNSURLContext::createRequest(const Resource& resource, +HTTPRequestBase* HTTPNSURLContext::createRequest(const Resource& resource, RequestBase::Callback callback, uv_loop_t* loop, std::shared_ptr<const Response> response) { - return new HTTPRequest(this, resource, callback, loop, response); + return new HTTPNSURLRequest(this, resource, callback, loop, response); } // ------------------------------------------------------------------------------------------------- -HTTPRequest::HTTPRequest(HTTPNSURLContext* context_, const Resource& resource_, Callback callback_, uv_loop_t *loop, std::shared_ptr<const Response> existingResponse_) - : RequestBase(resource_, callback_), +HTTPNSURLRequest::HTTPNSURLRequest(HTTPNSURLContext* context_, const Resource& resource_, Callback callback_, uv_loop_t *loop, std::shared_ptr<const Response> existingResponse_) + : HTTPRequestBase(resource_, callback_), context(context_), existingResponse(existingResponse_), async(loop, [this] { handleResponse(); }), @@ -110,7 +110,7 @@ HTTPRequest::HTTPRequest(HTTPNSURLContext* context_, const Resource& resource_, start(); } -HTTPRequest::~HTTPRequest() { +HTTPNSURLRequest::~HTTPNSURLRequest() { assert(!task); // Stop the backoff timer to avoid re-triggering this request. @@ -119,7 +119,7 @@ HTTPRequest::~HTTPRequest() { context->removeRequest(this); } -void HTTPRequest::start() { +void HTTPNSURLRequest::start() { assert(!task); attempts++; @@ -154,7 +154,7 @@ void HTTPRequest::start() { } } -void HTTPRequest::handleResponse() { +void HTTPNSURLRequest::handleResponse() { if (task) { [task release]; task = nullptr; @@ -182,7 +182,7 @@ void HTTPRequest::handleResponse() { delete this; } -void HTTPRequest::cancel() { +void HTTPNSURLRequest::cancel() { context->removeRequest(this); cancelled = true; @@ -213,7 +213,7 @@ int64_t parseCacheControl(const char *value) { return 0; } -void HTTPRequest::handleResult(NSData *data, NSURLResponse *res, NSError *error) { +void HTTPNSURLRequest::handleResult(NSData *data, NSURLResponse *res, NSError *error) { if (error) { if ([error code] == NSURLErrorCancelled) { status = ResponseStatus::Canceled; @@ -316,14 +316,14 @@ void HTTPRequest::handleResult(NSData *data, NSURLResponse *res, NSError *error) async.send(); } -void HTTPRequest::retry(uint64_t timeout) { +void HTTPNSURLRequest::retry(uint64_t timeout) { response.reset(); timer.stop(); timer.start(timeout, 0, [this] { start(); }); } -void HTTPRequest::retry() { +void HTTPNSURLRequest::retry() { // All batons get notified when the network status changed, but some of them // might not actually wait for the network to become available again. if (strategy == PreemptImmediately) { |