52 @signal requestCreated(QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
52 @signal requestCreated(QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
53 emitted after the request has been created |
53 emitted after the request has been created |
54 """ |
54 """ |
55 requestCreated = pyqtSignal( |
55 requestCreated = pyqtSignal( |
56 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
56 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
|
57 |
|
58 NoCacheHosts = [ |
|
59 "qt-project.org", |
|
60 ] |
57 |
61 |
58 def __init__(self, engine, parent=None): |
62 def __init__(self, engine, parent=None): |
59 """ |
63 """ |
60 Constructor |
64 Constructor |
61 |
65 |
158 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): |
162 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): |
159 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) |
163 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) |
160 if not self.__acceptLanguage.isEmpty(): |
164 if not self.__acceptLanguage.isEmpty(): |
161 req.setRawHeader("Accept-Language", self.__acceptLanguage) |
165 req.setRawHeader("Accept-Language", self.__acceptLanguage) |
162 |
166 |
163 # set cache policy |
|
164 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
165 Preferences.getHelp("CachePolicy")) |
|
166 |
|
167 # AdBlock code |
167 # AdBlock code |
168 if op == QNetworkAccessManager.GetOperation: |
168 if op == QNetworkAccessManager.GetOperation: |
169 if self.__adblockNetwork is None: |
169 if self.__adblockNetwork is None: |
170 self.__adblockNetwork = \ |
170 self.__adblockNetwork = \ |
171 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() |
171 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() |
172 reply = self.__adblockNetwork.block(req) |
172 reply = self.__adblockNetwork.block(req) |
173 if reply is not None: |
173 if reply is not None: |
174 reply.setParent(self) |
174 reply.setParent(self) |
175 return reply |
175 return reply |
|
176 |
|
177 # set cache policy |
|
178 urlHost = req.url().host() |
|
179 for host in self.NoCacheHosts: |
|
180 if host in urlHost: |
|
181 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
182 QNetworkRequest.AlwaysNetwork) |
|
183 break |
|
184 else: |
|
185 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
186 Preferences.getHelp("CachePolicy")) |
176 |
187 |
177 # Do Not Track feature |
188 # Do Not Track feature |
178 if self.__doNotTrack: |
189 if self.__doNotTrack: |
179 req.setRawHeader("DNT", "1") |
190 req.setRawHeader("DNT", "1") |
180 |
191 |