File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed
Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -148,13 +148,15 @@ def get_proxyauth(self, spider):
148148 return basic_auth_header (self .apikey , '' )
149149
150150 def process_request (self , request , spider ):
151+ from scrapy_crawlera import __version__
151152 if self ._is_enabled_for_request (request ):
152153 self ._set_crawlera_default_headers (request )
153154 request .meta ['proxy' ] = self .url
154155 request .meta ['download_timeout' ] = self .download_timeout
155156 request .headers ['Proxy-Authorization' ] = self ._proxyauth
156157 if self .job_id :
157158 request .headers ['X-Crawlera-Jobid' ] = self .job_id
159+ request .headers ['X-Crawlera-Client' ] = 'scrapy-crawlera/%s' % __version__
158160 self .crawler .stats .inc_value ('crawlera/request' )
159161 self .crawler .stats .inc_value ('crawlera/request/method/%s' % request .method )
160162 else :
Original file line number Diff line number Diff line change 1414from scrapy .exceptions import ScrapyDeprecationWarning
1515from twisted .internet .error import ConnectionRefusedError , ConnectionDone
1616
17- from scrapy_crawlera import CrawleraMiddleware
17+ from scrapy_crawlera import CrawleraMiddleware , __version__
1818import os
1919
2020from scrapy_crawlera .utils import exp_backoff
@@ -895,3 +895,15 @@ def test_settings_dict(self):
895895 mw .process_request (req , self .spider )
896896 assert mw .process_request (req , self .spider ) is None
897897 self .assertEqual (req .headers ['X-Crawlera-Profile' ], b'desktop' )
898+
899+ def test_client_header (self ):
900+ self .spider .crawlera_enabled = True
901+ crawler = self ._mock_crawler (self .spider , self .settings )
902+ mw = self .mwcls .from_crawler (crawler )
903+ mw .open_spider (self .spider )
904+ req = Request ('http://www.scrapytest.org' )
905+ self .assertEqual (mw .process_request (req , self .spider ), None )
906+ self .assertEqual (
907+ req .headers .get ('X-Crawlera-Client' ).decode ('utf-8' ),
908+ 'scrapy-crawlera/%s' % __version__
909+ )
You can’t perform that action at this time.
0 commit comments