From f1b45f320a241854a361b00a15c6ba5e8d0e00cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9gory=20Oestreicher?= <greg@kamago.net>
Date: Sun, 18 Dec 2016 11:14:41 +0100
Subject: [PATCH] Add various HTTP headers in the outgoing requests

---
 qml/js/WallaBase.js   | 4 ++++
 src/httprequester.cpp | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/qml/js/WallaBase.js b/qml/js/WallaBase.js
index f4feccf..f8702c2 100644
--- a/qml/js/WallaBase.js
+++ b/qml/js/WallaBase.js
@@ -344,6 +344,8 @@ function syncDeletedArticles( timerSource, props, cb )
 
                 http.open( "GET", url, true );
                 http.setRequestHeader( "Authorization:", "Bearer " + props.token );
+                http.setRequestHeader( "Accept", "application/json" );
+                http.setRequestHeader( "Connection", "close" );
 
                 http.send();
             }
@@ -581,6 +583,8 @@ function _downloadNextArticles( url, token, page, cb )
 
     http.open( "GET", pageUrl, true );
     http.setRequestHeader( "Authorization:", "Bearer " + token );
+    http.setRequestHeader( "Accept", "application/json" );
+    http.setRequestHeader( "Connection", "close" );
 
     http.send();
 }
diff --git a/src/httprequester.cpp b/src/httprequester.cpp
index 420c486..f99004b 100644
--- a/src/httprequester.cpp
+++ b/src/httprequester.cpp
@@ -52,6 +52,10 @@ void HttpPatchRequest::start()
 
     QNetworkRequest rq( mUrl );
     rq.setRawHeader( QByteArray( "Authorization" ), authHeader );
+    rq.setRawHeader( QByteArray( "Accept" ), QByteArray( "application/json" ) );
+    rq.setHeader( QNetworkRequest::ContentLengthHeader, mContent.length() );
+    rq.setHeader( QNetworkRequest::ContentTypeHeader, QStringLiteral( "application/json" ) );
+    rq.setRawHeader( QByteArray( "Connection" ), QByteArray( "close" ) );
 
     mReply = mQnam.sendCustomRequest( rq, QByteArray( "PATCH" ), mContentIO );
     connect( mReply, &QNetworkReply::finished, this, &HttpPatchRequest::onRequestDone );
@@ -92,6 +96,8 @@ void HttpDeleteRequest::start()
 
     QNetworkRequest rq( mUrl );
     rq.setRawHeader( QByteArray( "Authorization" ), authHeader );
+    rq.setRawHeader( QByteArray( "Accept" ), QByteArray( "application/json" ) );
+    rq.setRawHeader( QByteArray( "Connection" ), QByteArray( "close" ) );
 
     mReply = mQnam.sendCustomRequest( rq, QByteArray( "DELETE" ) );
     connect( mReply, &QNetworkReply::finished, this, &HttpDeleteRequest::onRequestDone );