@@ -20,9 +20,14 @@ export const defaultResponseSettings = {
2020} ;
2121
2222const updateParametersHeader = "Firebolt-Update-Parameters" ;
23- const allowedUpdateParameters = [ "database" ] ;
23+ const allowedUpdateParameters = [
24+ "database" ,
25+ "transaction_id" ,
26+ "transaction_sequence_id"
27+ ] ;
2428const updateEndpointHeader = "Firebolt-Update-Endpoint" ;
2529const resetSessionHeader = "Firebolt-Reset-Session" ;
30+ const removeParametersHeader = "Firebolt-Remove-Parameters" ;
2631const immutableParameters = [ "database" , "account_id" , "output_format" ] ;
2732const testConnectionQuery = "SELECT 1" ;
2833
@@ -117,6 +122,14 @@ export abstract class Connection {
117122 } ;
118123 }
119124
125+ private handleRemoveParametersHeader ( headerValue : string ) {
126+ const removeParameters = headerValue . split ( "," ) ;
127+
128+ removeParameters . forEach ( key => {
129+ delete this . parameters [ key . trim ( ) ] ;
130+ } ) ;
131+ }
132+
120133 private handleResetSessionHeader ( ) {
121134 const remainingParameters : Record < string , string > = { } ;
122135 for ( const key in this . parameters ) {
@@ -159,6 +172,11 @@ export abstract class Connection {
159172 if ( updateEndpointValue ) {
160173 await this . handleUpdateEndpointHeader ( updateEndpointValue ) ;
161174 }
175+
176+ const removeParametersValue = headers . get ( removeParametersHeader ) ;
177+ if ( removeParametersValue ) {
178+ this . handleRemoveParametersHeader ( removeParametersValue ) ;
179+ }
162180 }
163181
164182 abstract executeAsync (
0 commit comments