@@ -88,9 +88,11 @@ export function prepareRequestOptions(request_options, options) {
8888 request_options . uri = request_options . url ;
8989 }
9090 var uri = request_options . uri ;
91+ var original_uri = uri ;
9192 delete request_options . url ;
9293
9394 var disable_language = false ;
95+ var request_sig = false ;
9496
9597 function setPrerender ( prerender_option ) {
9698 if ( options ?. allowPrerender && CONFIG . PRERENDER_URL ) {
@@ -145,6 +147,9 @@ export function prepareRequestOptions(request_options, options) {
145147 if ( proxy && proxy . timeout > 0 ) {
146148 request_options . timeout = proxy . timeout > 100 ? proxy . timeout : proxy . timeout * 1000 ;
147149 }
150+ if ( proxy . sig && options . getSigHeaders ) {
151+ request_sig = true ;
152+ }
148153 }
149154 }
150155
@@ -174,8 +179,22 @@ export function prepareRequestOptions(request_options, options) {
174179 prepareEncodedUri ( request_options , 'uri' ) ;
175180
176181 setCookieFromJar ( uri , request_options . headers , options ?. jar )
182+
183+ if ( request_sig ) {
184+ options . getSigHeaders ( original_uri , function ( error , headers ) {
185+ if ( error ) {
186+ // Skip error.
187+ resolve ( request_options ) ;
188+ } else {
189+ request_options . headers = request_options . headers || { } ;
190+ Object . assign ( request_options . headers , headers )
191+ resolve ( request_options ) ;
192+ }
193+ } ) ;
194+ } else {
195+ resolve ( request_options ) ;
196+ }
177197
178- resolve ( request_options ) ;
179198 } catch ( ex ) {
180199 reject ( ex ) ;
181200 }
0 commit comments