mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Remove Accept-Encoding header
This commit is contained in:
parent
c59cd0e80b
commit
64dd4c5985
3 changed files with 1 additions and 72 deletions
|
@ -60,12 +60,6 @@ find_package(Qt5LinguistTools REQUIRED)
|
||||||
find_package(Qt5Concurrent REQUIRED)
|
find_package(Qt5Concurrent REQUIRED)
|
||||||
find_package(Qt5Multimedia REQUIRED)
|
find_package(Qt5Multimedia REQUIRED)
|
||||||
|
|
||||||
find_package(ZLIB)
|
|
||||||
|
|
||||||
if (ZLIB_FOUND)
|
|
||||||
include_directories(${ZLIB_INCLUDE_DIRS})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
find_package(Qt5MacExtras REQUIRED)
|
find_package(Qt5MacExtras REQUIRED)
|
||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
|
@ -328,7 +322,7 @@ add_subdirectory(libs/matrix-structs)
|
||||||
include_directories(${matrix_structs_SOURCE_DIR}/include)
|
include_directories(${matrix_structs_SOURCE_DIR}/include)
|
||||||
include_directories(${matrix_structs_SOURCE_DIR}/deps)
|
include_directories(${matrix_structs_SOURCE_DIR}/deps)
|
||||||
|
|
||||||
set(COMMON_LIBS matrix_structs Qt5::Widgets Qt5::Network Qt5::Concurrent ${ZLIB_LIBRARIES})
|
set(COMMON_LIBS matrix_structs Qt5::Widgets Qt5::Network Qt5::Concurrent)
|
||||||
|
|
||||||
if(APPVEYOR_BUILD)
|
if(APPVEYOR_BUILD)
|
||||||
set(NHEKO_LIBS ${COMMON_LIBS} lmdb)
|
set(NHEKO_LIBS ${COMMON_LIBS} lmdb)
|
||||||
|
|
|
@ -143,7 +143,6 @@ signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QNetworkReply *makeUploadRequest(QSharedPointer<QIODevice> iodev);
|
QNetworkReply *makeUploadRequest(QSharedPointer<QIODevice> iodev);
|
||||||
QByteArray uncompress(const QByteArray &data);
|
|
||||||
|
|
||||||
// Client API prefix.
|
// Client API prefix.
|
||||||
QString clientApiUrl_;
|
QString clientApiUrl_;
|
||||||
|
|
|
@ -254,7 +254,6 @@ MatrixClient::sync() noexcept
|
||||||
endpoint.setQuery(query);
|
endpoint.setQuery(query);
|
||||||
|
|
||||||
QNetworkRequest request(QString(endpoint.toEncoded()));
|
QNetworkRequest request(QString(endpoint.toEncoded()));
|
||||||
request.setRawHeader(QByteArray("Accept-Encoding"), QByteArray("gzip, deflate"));
|
|
||||||
|
|
||||||
auto reply = get(request);
|
auto reply = get(request);
|
||||||
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
|
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
|
||||||
|
@ -269,9 +268,6 @@ MatrixClient::sync() noexcept
|
||||||
|
|
||||||
auto data = reply->readAll();
|
auto data = reply->readAll();
|
||||||
|
|
||||||
if (reply->hasRawHeader(QByteArray("Content-Encoding")))
|
|
||||||
data = uncompress(data);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mtx::responses::Sync response = nlohmann::json::parse(data);
|
mtx::responses::Sync response = nlohmann::json::parse(data);
|
||||||
emit syncCompleted(response);
|
emit syncCompleted(response);
|
||||||
|
@ -382,7 +378,6 @@ MatrixClient::initialSync() noexcept
|
||||||
endpoint.setQuery(query);
|
endpoint.setQuery(query);
|
||||||
|
|
||||||
QNetworkRequest request(QString(endpoint.toEncoded()));
|
QNetworkRequest request(QString(endpoint.toEncoded()));
|
||||||
request.setRawHeader(QByteArray("Accept-Encoding"), QByteArray("gzip, deflate"));
|
|
||||||
|
|
||||||
auto reply = get(request);
|
auto reply = get(request);
|
||||||
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
|
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
|
||||||
|
@ -397,9 +392,6 @@ MatrixClient::initialSync() noexcept
|
||||||
|
|
||||||
auto data = reply->readAll();
|
auto data = reply->readAll();
|
||||||
|
|
||||||
if (reply->hasRawHeader(QByteArray("Content-Encoding")))
|
|
||||||
data = uncompress(data);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
mtx::responses::Sync response = nlohmann::json::parse(data);
|
mtx::responses::Sync response = nlohmann::json::parse(data);
|
||||||
emit initialSyncCompleted(response);
|
emit initialSyncCompleted(response);
|
||||||
|
@ -1235,59 +1227,3 @@ MatrixClient::makeUploadRequest(QSharedPointer<QIODevice> iodev)
|
||||||
|
|
||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray
|
|
||||||
MatrixClient::uncompress(const QByteArray &data)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* https://stackoverflow.com/questions/2690328/qt-quncompress-gzip-data/7351507#7351507
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (data.size() <= 4) {
|
|
||||||
qWarning("uncompress: Input data is truncated");
|
|
||||||
return QByteArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
QByteArray result;
|
|
||||||
|
|
||||||
int ret;
|
|
||||||
z_stream strm;
|
|
||||||
static const int CHUNK_SIZE = 1024;
|
|
||||||
char out[CHUNK_SIZE];
|
|
||||||
|
|
||||||
/* allocate inflate state */
|
|
||||||
strm.zalloc = Z_NULL;
|
|
||||||
strm.zfree = Z_NULL;
|
|
||||||
strm.opaque = Z_NULL;
|
|
||||||
strm.avail_in = data.size();
|
|
||||||
strm.next_in = (Bytef *)(data.data());
|
|
||||||
|
|
||||||
ret = inflateInit2(&strm, 15 + 32); // gzip decoding
|
|
||||||
if (ret != Z_OK)
|
|
||||||
return QByteArray();
|
|
||||||
|
|
||||||
// run inflate()
|
|
||||||
do {
|
|
||||||
strm.avail_out = CHUNK_SIZE;
|
|
||||||
strm.next_out = (Bytef *)(out);
|
|
||||||
|
|
||||||
ret = inflate(&strm, Z_NO_FLUSH);
|
|
||||||
Q_ASSERT(ret != Z_STREAM_ERROR); // state not clobbered
|
|
||||||
|
|
||||||
switch (ret) {
|
|
||||||
case Z_NEED_DICT:
|
|
||||||
ret = Z_DATA_ERROR;
|
|
||||||
// fall through
|
|
||||||
case Z_DATA_ERROR:
|
|
||||||
case Z_MEM_ERROR:
|
|
||||||
(void)inflateEnd(&strm);
|
|
||||||
return QByteArray();
|
|
||||||
}
|
|
||||||
|
|
||||||
result.append(out, CHUNK_SIZE - strm.avail_out);
|
|
||||||
} while (strm.avail_out == 0);
|
|
||||||
|
|
||||||
// clean up and return
|
|
||||||
inflateEnd(&strm);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue