1
#include "DeleteHandler.h"
3
#include <unity/storage/provider/Exceptions.h>
5
#include "DavProvider.h"
9
using namespace unity::storage::provider;
11
DeleteHandler::DeleteHandler(DavProvider const& provider,
12
string const& item_id,
14
: provider_(provider), item_id_(item_id)
16
QUrl const base_url = provider.base_url(ctx);
17
QNetworkRequest request(id_to_url(item_id_, base_url));
18
reply_.reset(provider.send_request(request, QByteArrayLiteral("DELETE"),
20
connect(reply_.get(), &QNetworkReply::finished,
21
this, &DeleteHandler::onFinished);
24
DeleteHandler::~DeleteHandler() = default;
26
boost::future<void> DeleteHandler::get_future()
28
return promise_.get_future();
31
void DeleteHandler::onFinished()
33
auto status = reply_->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
35
if (status / 100 == 2)
41
promise_.set_exception(RemoteCommsException("Error from DELETE: " + to_string(status)));