diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp index 9538f17a3..7992c4924 100644 --- a/src/core/utilities.cpp +++ b/src/core/utilities.cpp @@ -760,6 +760,13 @@ QByteArray GetUriForGstreamer(const QUrl& url) { return url.toEncoded(); } +QString ScrubUrlQueries(const QString& str) { + // If the URL isn't followed by whitespace, this will eat extra characters. + QRegExp rx("((?:http|https)://\\S*\\?)\\S*"); + // QString::replace is non const, so operate on a copy. + return QString(str).replace(rx, "\\1 (query removed)"); +} + } // namespace Utilities ScopedWCharArray::ScopedWCharArray(const QString& str) diff --git a/src/core/utilities.h b/src/core/utilities.h index cb5eea311..aee3a4a4b 100644 --- a/src/core/utilities.h +++ b/src/core/utilities.h @@ -164,6 +164,9 @@ int GetThreadId(); bool IsLaptop(); QString SystemLanguageName(); + +// Scrub messages for to remove queries, which may include auth info, from URLs. +QString ScrubUrlQueries(const QString& str); } // namespace Utilities class ScopedWCharArray {