summaryrefslogtreecommitdiff
path: root/qutebrowser/browser/network/pac.py
diff options
context:
space:
mode:
Diffstat (limited to 'qutebrowser/browser/network/pac.py')
-rw-r--r--qutebrowser/browser/network/pac.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/qutebrowser/browser/network/pac.py b/qutebrowser/browser/network/pac.py
index c372c6eea..8a67850f5 100644
--- a/qutebrowser/browser/network/pac.py
+++ b/qutebrowser/browser/network/pac.py
@@ -21,15 +21,16 @@
import sys
import functools
-from typing import Optional
+from typing import Optional, cast
+from qutebrowser.qt import machinery
from qutebrowser.qt.core import QObject, pyqtSignal, pyqtSlot, QUrl
from qutebrowser.qt.network import (QNetworkProxy, QNetworkRequest, QHostInfo,
QNetworkReply, QNetworkAccessManager,
QHostAddress)
from qutebrowser.qt.qml import QJSEngine, QJSValue
-from qutebrowser.utils import log, utils, qtutils, resources
+from qutebrowser.utils import log, utils, qtutils, resources, urlutils
class ParseProxyError(Exception):
@@ -214,13 +215,20 @@ class PACResolver:
"""
qtutils.ensure_valid(query.url())
+ string_flags: urlutils.URL_FLAGS_T
if from_file:
string_flags = QUrl.ComponentFormattingOption.PrettyDecoded
else:
- string_flags = QUrl.UrlFormattingOption.RemoveUserInfo # type: ignore[assignment]
+ string_flags = QUrl.UrlFormattingOption.RemoveUserInfo
if query.url().scheme() == 'https':
- string_flags |= QUrl.UrlFormattingOption.RemovePath # type: ignore[assignment]
- string_flags |= QUrl.UrlFormattingOption.RemoveQuery # type: ignore[assignment]
+ https_opts = (
+ QUrl.UrlFormattingOption.RemovePath |
+ QUrl.UrlFormattingOption.RemoveQuery)
+
+ if machinery.IS_QT5:
+ string_flags |= cast(QUrl.UrlFormattingOption, https_opts)
+ else:
+ string_flags |= https_opts
result = self._resolver.call([query.url().toString(string_flags),
query.peerHostName()])