~unity-api-team/unity-scopes-api/child-scopes-option

« back to all changes in this revision

Viewing changes to src/scopes/internal/smartscopes/HttpClientQt.cpp

  • Committer: Marcus Tomlinson
  • Date: 2014-10-08 10:58:57 UTC
  • mfrom: (497.1.3 devel)
  • mto: (497.1.5 devel)
  • mto: This revision was merged to the branch mainline in revision 505.
  • Revision ID: marcus.tomlinson@canonical.com-20141008105857-gf4ilb9ywfeaeroi
Merged devel

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
{
49
49
}
50
50
 
51
 
HttpResponseHandle::SPtr HttpClientQt::get(std::string const& request_url, std::function<void(std::string const&)> const& lineData)
 
51
HttpResponseHandle::SPtr HttpClientQt::get(std::string const& request_url, std::function<void(std::string const&)> const& lineData,
 
52
        HttpHeaders const& headers)
52
53
{
53
54
    std::lock_guard<std::mutex> lock(sessions_mutex_);
54
55
 
55
56
    // start new session
56
 
    auto session = std::make_shared<HttpSession>(request_url, no_reply_timeout_, lineData);
 
57
    auto session = std::make_shared<HttpSession>(request_url, no_reply_timeout_, lineData, headers);
57
58
    sessions_[session_index_] = session;
58
59
 
59
60
    return std::make_shared<HttpResponseHandle>(shared_from_this(), session_index_++, session->get_future());
79
80
 
80
81
//-- HttpClientQt::HttpSession
81
82
 
82
 
HttpClientQt::HttpSession::HttpSession(std::string const& request_url, uint timeout, std::function<void(std::string const&)> const& lineData)
 
83
HttpClientQt::HttpSession::HttpSession(std::string const& request_url, uint timeout, std::function<void(std::string const&)> const& lineData,
 
84
        HttpHeaders const& headers)
83
85
    : qt_thread_(nullptr)
84
86
{
85
87
    get_thread_ =
86
 
        std::thread([this, request_url, timeout, lineData]()
 
88
        std::thread([this, request_url, headers, timeout, lineData]()
87
89
            {
88
90
                QUrl url(request_url.c_str());
89
91
 
90
92
                {
91
93
                    std::lock_guard<std::mutex> lock(qt_thread_mutex_);
92
 
                    qt_thread_ = std::unique_ptr<HttpClientQtThread>(new HttpClientQtThread(url, timeout, lineData));
 
94
                    qt_thread_ = std::unique_ptr<HttpClientQtThread>(new HttpClientQtThread(url, timeout, lineData, headers));
93
95
                }
94
96
 
95
97
                QEventLoop loop;