1 #pragma once
2 
3 #include <mbgl/storage/http_file_source.hpp>
4 #include <mbgl/util/async_request.hpp>
5 
6 #include <QNetworkReply>
7 #include <QNetworkRequest>
8 #include <QUrl>
9 
10 namespace mbgl {
11 
12 class Response;
13 
14 class HTTPRequest : public AsyncRequest
15 {
16 public:
17     HTTPRequest(HTTPFileSource::Impl *, const Resource&, FileSource::Callback);
18     virtual ~HTTPRequest();
19 
20     QUrl requestUrl() const;
21     QNetworkRequest networkRequest() const;
22 
23     void handleNetworkReply(QNetworkReply *, const QByteArray& data);
24 
25 private:
26     HTTPFileSource::Impl* m_context;
27     Resource m_resource;
28     FileSource::Callback m_callback;
29 
30     bool m_handled = false;
31 };
32 
33 } // namespace mbgl
34