1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#include "OwncloudProvider.h"
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
using namespace std;
using namespace unity::storage::provider;
OwncloudProvider::OwncloudProvider()
{
}
OwncloudProvider::~OwncloudProvider() = default;
QUrl OwncloudProvider::base_url(Context const& ctx) const
{
const auto& creds = boost::get<PasswordCredentials>(ctx.credentials);
return QUrl(QStringLiteral("http://localhost:8888/owncloud/remote.php/dav/files/%1/").arg(QString::fromStdString(creds.username)));
}
QNetworkReply *OwncloudProvider::send_request(
QNetworkRequest& request, QByteArray const& verb, QIODevice* data,
Context const& ctx) const
{
Q_UNUSED(ctx);
const auto& creds = boost::get<PasswordCredentials>(ctx.credentials);
const auto credentials = QByteArray::fromStdString(creds.username + ":" +
creds.password);
request.setRawHeader(QByteArrayLiteral("Authorization"),
QByteArrayLiteral("Basic ") + credentials.toBase64());
printf("Sending request to %s with credentials %s\n",
request.url().toEncoded().constData(), credentials.constData());
QNetworkReply *reply = network_->sendCustomRequest(request, verb, data);
return reply;
}
|