@@ -62,7 +62,7 @@ public class BackrollHttpClientProvider {
6262 private static final String AUTH_TEST = "/auth/cloudstack/test" ;
6363
6464 private URI apiURI ;;
65- private String backrollToken = null ;
65+ private String token = null ;
6666 private String appname = null ;
6767 private String password = null ;
6868 private RequestConfig config = null ;
@@ -161,6 +161,25 @@ public String okBody(final CloseableHttpResponse response) throws NotOkBodyExcep
161161 }
162162 }
163163
164+ protected boolean isAuthenticated () throws BackrollApiException , IOException {
165+ if (StringUtils .isBlank (token )) {
166+ logger .debug ("Token is blank “{}”." , token );
167+ return false ;
168+ }
169+
170+ try (CloseableHttpClient httpClient = createHttpClient ()) {
171+ final HttpGet request = new HttpGet (apiURI .toString () + AUTH_TEST );
172+ request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
173+ CloseableHttpResponse httpResponse = httpClient .execute (request );
174+ okBody (httpResponse );
175+ logger .debug ("Client is authenticated." );
176+ return true ;
177+ } catch (NotOkBodyException exception ) {
178+ logger .debug ("Authentication test failed." );
179+ return false ;
180+ }
181+ }
182+
164183 public <T > T post (final String path , final JSONObject json , Class <T > classOfT )
165184 throws BackrollApiException , IOException {
166185
@@ -182,7 +201,7 @@ public <T> T post(final String path, final JSONObject json, Class<T> classOfT)
182201 request .setEntity (params );
183202 }
184203
185- request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + backrollToken );
204+ request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
186205 request .setHeader ("Content-type" , "application/json" );
187206
188207 final CloseableHttpResponse response = httpClient .execute (request );
@@ -213,7 +232,7 @@ public <T> T get(String path, Class<T> classOfT) throws IOException, BackrollApi
213232 logger .debug ("Backroll URL {}" , url );
214233
215234 HttpGet request = new HttpGet (url );
216- request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + backrollToken );
235+ request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
217236 request .setHeader ("Content-type" , "application/json" );
218237 CloseableHttpResponse response = httpClient .execute (request );
219238 logger .debug ("Response received in GET request is: {} for URL: {}." , response .toString (), url );
@@ -239,7 +258,7 @@ public String getWithoutParseResponse(String path) throws IOException, BackrollA
239258 logger .debug ("Backroll URL {}" , url );
240259
241260 HttpGet request = new HttpGet (url );
242- request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + backrollToken );
261+ request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
243262 request .setHeader ("Content-type" , "application/json" );
244263 CloseableHttpResponse response = httpClient .execute (request );
245264 logger .debug ("Response received in GET request is: {} for URL: {}." , response .toString (), url );
@@ -262,7 +281,7 @@ public <T> T delete(String path, Class<T> classOfT) throws IOException, Backroll
262281
263282 String url = apiURI .toString () + path ;
264283 final HttpDelete request = new HttpDelete (url );
265- request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + backrollToken );
284+ request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + token );
266285 request .setHeader ("Content-type" , "application/json" );
267286 final CloseableHttpResponse response = httpClient .execute (request );
268287 logger .debug ("Response received in GET request is: {} for URL: {}." , response .toString (), url );
@@ -328,30 +347,6 @@ public String waitGetWithoutParseResponse(String url)
328347 return null ;
329348 }
330349
331- protected boolean isAuthenticated () throws BackrollApiException , IOException {
332- boolean result = false ;
333-
334- if (StringUtils .isEmpty (backrollToken )) {
335- logger .debug ("Backroll Token empty : " + backrollToken );
336- return result ;
337- }
338-
339- try (CloseableHttpClient httpClient = createHttpClient ()) {
340- final HttpGet request = new HttpGet (apiURI .toString () + AUTH_TEST );
341- request .setHeader (HttpHeaders .AUTHORIZATION , "Bearer " + backrollToken );
342- CloseableHttpResponse httpResponse = httpClient .execute (request );
343- String response = okBody (httpResponse );
344- logger .debug ("Backroll Auth response 2 : " + response );
345- logger .debug ("Backroll Auth ok" );
346- result = true ;
347- } catch (NotOkBodyException e ) {
348- logger .error (e );
349- e .printStackTrace ();
350- result = false ;
351- }
352- return result ;
353- }
354-
355350 private void closeConnection (CloseableHttpResponse closeableHttpResponse ) throws IOException {
356351 closeableHttpResponse .close ();
357352 }
@@ -387,8 +382,8 @@ protected void login() throws BackrollApiException, IOException {
387382 logger .info ("BACKROLL: " + response );
388383 LoginApiResponse loginResponse = objectMapper .readValue (response , LoginApiResponse .class );
389384 logger .info ("ok" );
390- backrollToken = loginResponse .accessToken ;
391- logger .debug ("Backroll client - Token : {}" , backrollToken );
385+ token = loginResponse .accessToken ;
386+ logger .debug ("Backroll client - Token : {}" , token );
392387
393388 if (StringUtils .isEmpty (loginResponse .accessToken )) {
394389 throw new CloudRuntimeException ("Backroll token is not available to perform API requests" );
0 commit comments