eric6/WebBrowser/Network/NetworkUrlInterceptor.py

changeset 8143
2c730d5fd177
parent 7923
91e843545d9a
child 8218
7c09585bd960
equal deleted inserted replaced
8141:27f636beebad 8143:2c730d5fd177
138 if self.__sendReferer == 0: 138 if self.__sendReferer == 0:
139 # never send referer header 139 # never send referer header
140 info.setHttpHeader(b"Referer", b"") 140 info.setHttpHeader(b"Referer", b"")
141 elif (self.__sendReferer == 1 and 141 elif (self.__sendReferer == 1 and
142 info.navigationType() != 142 info.navigationType() !=
143 QWebEngineUrlRequestInfo.NavigationTypeLink): 143 QWebEngineUrlRequestInfo.NavigationType.NavigationTypeLink):
144 # send referer header only on click 144 # send referer header only on click
145 info.setHttpHeader(b"Referer", b"") 145 info.setHttpHeader(b"Referer", b"")
146 else: 146 else:
147 # send referer header always applying further policies 147 # send referer header always applying further policies
148 url = info.firstPartyUrl() 148 url = info.firstPartyUrl()
188 @param url2 second URL for the test 188 @param url2 second URL for the test
189 @type QUrl 189 @type QUrl
190 @return flag indicating that both URLs have the same origin 190 @return flag indicating that both URLs have the same origin
191 @rtype bool 191 @rtype bool
192 """ 192 """
193 origin1 = url1.url(QUrl.RemoveUserInfo | QUrl.RemovePath) 193 origin1 = url1.url(QUrl.UrlFormattingOption.RemoveUserInfo |
194 origin2 = url2.url(QUrl.RemoveUserInfo | QUrl.RemovePath) 194 QUrl.UrlFormattingOption.RemovePath)
195 origin2 = url2.url(QUrl.UrlFormattingOption.RemoveUserInfo |
196 QUrl.UrlFormattingOption.RemovePath)
195 197
196 return origin1 == origin2 198 return origin1 == origin2
197 199
198 def __potentiallyTrustworthy(self, url): 200 def __potentiallyTrustworthy(self, url):
199 """ 201 """
208 return False 210 return False
209 211
210 if url.toString() in ("about:blank", "about:srcdoc"): 212 if url.toString() in ("about:blank", "about:srcdoc"):
211 return True 213 return True
212 214
213 origin = url.adjusted(QUrl.RemoveUserInfo | QUrl.RemovePath) 215 origin = url.adjusted(QUrl.UrlFormattingOption.RemoveUserInfo |
216 QUrl.UrlFormattingOption.RemovePath)
214 217
215 if origin.isEmpty() or origin.scheme() == "": 218 if origin.isEmpty() or origin.scheme() == "":
216 return False 219 return False
217 if origin.scheme() in ("https", "wss"): 220 if origin.scheme() in ("https", "wss"):
218 return True 221 return True
240 @rtype QByteArray or bytes 243 @rtype QByteArray or bytes
241 """ 244 """
242 if self.__refererTrimmingPolicy == 0: 245 if self.__refererTrimmingPolicy == 0:
243 # send full URL (no trimming) (default) 246 # send full URL (no trimming) (default)
244 refererUrl = url.toEncoded( 247 refererUrl = url.toEncoded(
245 QUrl.RemoveUserInfo | QUrl.RemoveFragment) 248 QUrl.UrlFormattingOption.RemoveUserInfo |
249 QUrl.UrlFormattingOption.RemoveFragment
250 )
246 elif self.__refererTrimmingPolicy == 1: 251 elif self.__refererTrimmingPolicy == 1:
247 # send the URL without its query string 252 # send the URL without its query string
248 refererUrl = url.toEncoded( 253 refererUrl = url.toEncoded(
249 QUrl.RemoveUserInfo | QUrl.RemoveFragment | 254 QUrl.UrlFormattingOption.RemoveUserInfo |
250 QUrl.RemoveQuery) 255 QUrl.UrlFormattingOption.RemoveFragment |
256 QUrl.UrlFormattingOption.RemoveQuery
257 )
251 else: 258 else:
252 # only send the origin (ensure trailing /) 259 # only send the origin (ensure trailing /)
253 refererUrl = self.__refererOrigin(url) 260 refererUrl = self.__refererOrigin(url)
254 261
255 return refererUrl 262 return refererUrl
261 @param url URL to generate the header from 268 @param url URL to generate the header from
262 @type QUrl 269 @type QUrl
263 @return origin referer header URL 270 @return origin referer header URL
264 @rtype QByteArray or bytes 271 @rtype QByteArray or bytes
265 """ 272 """
266 referer = url.toEncoded(QUrl.RemoveUserInfo | QUrl.RemovePath) 273 referer = url.toEncoded(
274 QUrl.UrlFormattingOption.RemoveUserInfo |
275 QUrl.UrlFormattingOption.RemovePath
276 )
267 if not referer.endsWith(b"/"): 277 if not referer.endsWith(b"/"):
268 referer += b"/" 278 referer += b"/"
269 279
270 return referer 280 return referer

eric ide

mercurial