3434from . import LockfileProvider , ModuleProvider , ProviderFactory , RCFileProvider
3535from .special import SpecialSourceProvider
3636
37+ _NPM_CORGIDOC = (
38+ 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*'
39+ )
40+
3741
3842class NpmLockfileProvider (LockfileProvider ):
3943 _ALIAS_RE = re .compile (r'^npm:(.[^@]*)@(.*)$' )
@@ -163,8 +167,14 @@ def get_cacache_content_path(self, integrity: Integrity) -> Path:
163167 / self .get_cacache_integrity_path (integrity )
164168 )
165169
166- def add_index_entry (self , url : str , metadata : RemoteUrlMetadata ) -> None :
170+ def add_index_entry (
171+ self ,
172+ url : str ,
173+ metadata : RemoteUrlMetadata ,
174+ request_headers : Dict [str , str ] = {},
175+ ) -> None :
167176 key = f'make-fetch-happen:request-cache:{ url } '
177+
168178 index_json = json .dumps (
169179 {
170180 'key' : key ,
@@ -173,7 +183,7 @@ def add_index_entry(self, url: str, metadata: RemoteUrlMetadata) -> None:
173183 'size' : metadata .size ,
174184 'metadata' : {
175185 'url' : url ,
176- 'reqHeaders' : {} ,
186+ 'reqHeaders' : request_headers ,
177187 'resHeaders' : {},
178188 },
179189 }
@@ -304,7 +314,9 @@ def _finalize(self) -> None:
304314 )
305315 content_path = self .get_cacache_content_path (metadata .integrity )
306316 self .gen .add_data_source (raw_data , content_path )
307- self .add_index_entry (index .url , metadata )
317+ self .add_index_entry (
318+ index .url , metadata , request_headers = {'accept' : _NPM_CORGIDOC }
319+ )
308320
309321 patch_commands : DefaultDict [Path , List [str ]] = collections .defaultdict (
310322 lambda : []
0 commit comments