From 02a8d3deb4f97046da4a0bb79abf9510d2d1c0a2 Mon Sep 17 00:00:00 2001 From: David Faure Date: Wed, 23 Oct 2019 09:29:55 +0200 Subject: kio_http: avoid double Content-Type and Depth when used by KDAV References: kde#413316 Upstream: merged Summary: This makes libkdav 19.08 work again after commit 9713ea02e49eda. Test Plan: syncing a CALDAV calendar in korganizer no longer fails Reviewers: vkrause Subscribers: kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D24880 --- src/ioslaves/http/http.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ioslaves/http/http.cpp b/src/ioslaves/http/http.cpp index e3bad6c..11dd7af 100644 --- a/src/ioslaves/http/http.cpp +++ b/src/ioslaves/http/http.cpp @@ -172,7 +172,8 @@ static QString sanitizeCustomHTTPHeader(const QString &_header) if (!header.contains(QLatin1Char(':')) || header.startsWith(QLatin1String("host"), Qt::CaseInsensitive) || header.startsWith(QLatin1String("proxy-authorization"), Qt::CaseInsensitive) || - header.startsWith(QLatin1String("via"), Qt::CaseInsensitive)) { + header.startsWith(QLatin1String("via"), Qt::CaseInsensitive) || + header.startsWith(QLatin1String("depth"), Qt::CaseInsensitive)) { continue; } @@ -2599,7 +2600,7 @@ bool HTTPProtocol::sendQuery() davHeader += metaData(QStringLiteral("davHeader")); // Set content type of webdav data - if (hasDavData) { + if (hasDavData && !header.contains(QLatin1String("Content-Type: "))) { davHeader += QStringLiteral("Content-Type: text/xml; charset=utf-8\r\n"); } -- cgit v1.1