34 emitted after the request has been created |
34 emitted after the request has been created |
35 """ |
35 """ |
36 requestCreated = pyqtSignal( |
36 requestCreated = pyqtSignal( |
37 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
37 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) |
38 |
38 |
|
39 NoCacheHosts = [ |
|
40 "qt-project.org", |
|
41 ] |
|
42 |
39 def __init__(self, engine, parent=None): |
43 def __init__(self, engine, parent=None): |
40 """ |
44 """ |
41 Constructor |
45 Constructor |
42 |
46 |
43 @param engine reference to the help engine (QHelpEngine) |
47 @param engine reference to the help engine (QHelpEngine) |
138 |
142 |
139 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): |
143 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): |
140 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) |
144 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) |
141 if not self.__acceptLanguage.isEmpty(): |
145 if not self.__acceptLanguage.isEmpty(): |
142 req.setRawHeader("Accept-Language", self.__acceptLanguage) |
146 req.setRawHeader("Accept-Language", self.__acceptLanguage) |
143 |
|
144 # set cache policy |
|
145 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
146 Preferences.getHelp("CachePolicy")) |
|
147 |
147 |
148 # AdBlock code |
148 # AdBlock code |
149 if op == QNetworkAccessManager.GetOperation: |
149 if op == QNetworkAccessManager.GetOperation: |
150 if self.__adblockNetwork is None: |
150 if self.__adblockNetwork is None: |
151 self.__adblockNetwork = \ |
151 self.__adblockNetwork = \ |
152 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() |
152 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() |
153 reply = self.__adblockNetwork.block(req) |
153 reply = self.__adblockNetwork.block(req) |
154 if reply is not None: |
154 if reply is not None: |
155 reply.setParent(self) |
155 reply.setParent(self) |
156 return reply |
156 return reply |
|
157 |
|
158 # set cache policy |
|
159 urlHost = req.url().host() |
|
160 for host in self.NoCacheHosts: |
|
161 if host in urlHost: |
|
162 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
163 QNetworkRequest.AlwaysNetwork) |
|
164 break |
|
165 else: |
|
166 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute, |
|
167 Preferences.getHelp("CachePolicy")) |
157 |
168 |
158 # Do Not Track feature |
169 # Do Not Track feature |
159 if self.__doNotTrack: |
170 if self.__doNotTrack: |
160 req.setRawHeader("DNT", "1") |
171 req.setRawHeader("DNT", "1") |
161 |
172 |