File tree 2 files changed +15
-1
lines changed
2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -156,13 +156,15 @@ def get_proxyauth(self, spider):
156
156
return basic_auth_header (self .apikey , '' )
157
157
158
158
def process_request (self , request , spider ):
159
+ from scrapy_zyte_smartproxy import __version__
159
160
if self ._is_enabled_for_request (request ):
160
161
self ._set_zyte_smartproxy_default_headers (request )
161
162
request .meta ['proxy' ] = self .url
162
163
request .meta ['download_timeout' ] = self .download_timeout
163
164
request .headers ['Proxy-Authorization' ] = self ._proxyauth
164
165
if self .job_id :
165
166
request .headers ['X-Crawlera-Jobid' ] = self .job_id
167
+ request .headers ['X-Crawlera-Client' ] = 'scrapy-zyte-smartproxy/%s' % __version__
166
168
self .crawler .stats .inc_value ('zyte_smartproxy/request' )
167
169
self .crawler .stats .inc_value ('zyte_smartproxy/request/method/%s' % request .method )
168
170
else :
Original file line number Diff line number Diff line change 15
15
from scrapy .exceptions import ScrapyDeprecationWarning
16
16
from twisted .internet .error import ConnectionRefusedError , ConnectionDone
17
17
18
- from scrapy_zyte_smartproxy import ZyteSmartProxyMiddleware
18
+ from scrapy_zyte_smartproxy import __version__ , ZyteSmartProxyMiddleware
19
19
from scrapy_zyte_smartproxy .utils import exp_backoff
20
20
21
21
@@ -897,3 +897,15 @@ def test_settings_dict(self):
897
897
mw .process_request (req , self .spider )
898
898
assert mw .process_request (req , self .spider ) is None
899
899
self .assertEqual (req .headers ['X-Crawlera-Profile' ], b'desktop' )
900
+
901
+ def test_client_header (self ):
902
+ self .spider .zyte_smartproxy_enabled = True
903
+ crawler = self ._mock_crawler (self .spider , self .settings )
904
+ mw = self .mwcls .from_crawler (crawler )
905
+ mw .open_spider (self .spider )
906
+ req = Request ('http://www.scrapytest.org' )
907
+ self .assertEqual (mw .process_request (req , self .spider ), None )
908
+ self .assertEqual (
909
+ req .headers .get ('X-Crawlera-Client' ).decode ('utf-8' ),
910
+ 'scrapy-zyte-smartproxy/%s' % __version__
911
+ )
You can’t perform that action at this time.
0 commit comments