@@ -46,7 +46,7 @@ func NewRestClient(endpoint string, apitoken string, apiversion string, uagent s
4646 fa := & FAClient {
4747 EndPoint : endpoint ,
4848 ApiToken : apitoken ,
49- XRequestID : "" ,
49+ XRequestID : rid ,
5050 RestClient : resty .New (),
5151 XAuthToken : "" ,
5252 }
@@ -55,7 +55,7 @@ func NewRestClient(endpoint string, apitoken string, apiversion string, uagent s
5555 fa .RestClient .SetHeaders (map [string ]string {
5656 "Content-Type" : "application/json" ,
5757 "Accept" : "application/json" ,
58- "X-Request-ID" : rid ,
58+ "X-Request-ID" : fa . XRequestID ,
5959 })
6060 if debug {
6161 fa .RestClient .SetDebug (true )
@@ -98,10 +98,12 @@ func NewRestClient(endpoint string, apitoken string, apiversion string, uagent s
9898 fa .Error = errors .New ("failed to login to FlashArray, check API Token" )
9999 return fa
100100 }
101+ //Get the X-Auth-Token and the X-Request-ID from the HTTP Response Headers (FA will reply with the same X-Request-ID, if provided, otherwise it will generate one.)
101102 fa .XAuthToken = res .Header ().Get ("x-auth-token" )
102103 fa .XRequestID = res .Header ().Get ("X-Request-ID" )
103- fa .RestClient .SetHeader ("x-auth-token" , fa .XAuthToken )
104104 fa .RestClient .SetHeader ("User-Agent" , FARestUserAgent + " (" + uagent + ")" )
105+ //Set the X-Auth-Token and the X-Request-ID from the HTTP Response Headers
106+ fa .RestClient .SetHeader ("x-auth-token" , fa .XAuthToken )
105107 fa .RestClient .SetHeader ("X-Request-ID" , fa .XRequestID )
106108 return fa
107109}
@@ -112,6 +114,7 @@ func (fa *FAClient) Close() *FAClient {
112114 }
113115 _ , err := fa .RestClient .R ().
114116 SetHeader ("x-auth-token" , fa .XAuthToken ).
117+ SetHeader ("X-Request-ID" , fa .XRequestID ).
115118 Post ("/logout" )
116119 if err != nil {
117120 fa .Error = err
@@ -122,14 +125,13 @@ func (fa *FAClient) Close() *FAClient {
122125func (fa * FAClient ) RefreshSession () * FAClient {
123126 res , err := fa .RestClient .R ().
124127 SetHeader ("api-token" , fa .ApiToken ).
128+ SetHeader ("X-Request-ID" , fa .XRequestID ).
125129 Post ("/login" )
126130 if err != nil {
127131 fa .Error = err
128132 return fa
129133 }
130134 fa .XAuthToken = res .Header ().Get ("x-auth-token" )
131- fa .XRequestID = res .Header ().Get ("X-Request-ID" )
132135 fa .RestClient .SetHeader ("x-auth-token" , fa .XAuthToken )
133- fa .RestClient .SetHeader ("X-Request-ID" , fa .XRequestID )
134136 return fa
135137}
0 commit comments