11import { ExtensionContext , Range , TextDocument , ViewColumn , window } from 'vscode' ;
22import Logger from '../logger' ;
3- import { IRestClientSettings , RequestSettings , RestClientSettings , SystemSettings } from '../models/configurationSettings' ;
3+ import { IRestClientSettings , RequestSettings , RestClientSettings } from '../models/configurationSettings' ;
44import { HistoricalHttpRequest , HttpRequest } from '../models/httpRequest' ;
55import { RequestMetadata } from '../models/requestMetadata' ;
66import { RequestParserFactory } from '../models/requestParserFactory' ;
@@ -19,7 +19,7 @@ export class RequestController {
1919 private _httpClient : HttpClient ;
2020 private _webview : HttpResponseWebview ;
2121 private _textDocumentView : HttpResponseTextDocumentView ;
22- private _lastRequest ?: HttpRequest ;
22+ private _lastRequestSettingTuple : [ HttpRequest , IRestClientSettings ] ;
2323 private _lastPendingRequest ?: HttpRequest ;
2424
2525 public constructor ( context : ExtensionContext ) {
@@ -58,19 +58,21 @@ export class RequestController {
5858 const settings : IRestClientSettings = new RestClientSettings ( requestSettings ) ;
5959
6060 // parse http request
61- const httpRequest = await RequestParserFactory . createRequestParser ( text ) . parseHttpRequest ( name ) ;
61+ const httpRequest = await RequestParserFactory . createRequestParser ( text , settings ) . parseHttpRequest ( name ) ;
6262
6363 await this . runCore ( httpRequest , settings , document ) ;
6464 }
6565
6666 @trace ( 'Rerun Request' )
6767 public async rerun ( ) {
68- if ( ! this . _lastRequest ) {
68+ if ( ! this . _lastRequestSettingTuple ) {
6969 return ;
7070 }
7171
72+ let [ request , settings ] = this . _lastRequestSettingTuple ;
73+
7274 // TODO: recover from last request settings
73- await this . runCore ( this . _lastRequest , SystemSettings . Instance ) ;
75+ await this . runCore ( request , settings ) ;
7476 }
7577
7678 @trace ( 'Cancel Request' )
@@ -85,7 +87,8 @@ export class RequestController {
8587 this . _requestStatusEntry . update ( { state : RequestState . Pending } ) ;
8688
8789 // set last request and last pending request
88- this . _lastPendingRequest = this . _lastRequest = httpRequest ;
90+ this . _lastPendingRequest = httpRequest ;
91+ this . _lastRequestSettingTuple = [ httpRequest , settings ] ;
8992
9093 // set http request
9194 try {
0 commit comments