30
30
31
31
public class InstallableScannerVersionsProvider {
32
32
private final OkHttpClient client = new OkHttpClient ().newBuilder ()
33
- .connectTimeout (10 , TimeUnit .SECONDS )
34
- .readTimeout (30 , TimeUnit .SECONDS )
35
- .build ();
33
+ .connectTimeout (10 , TimeUnit .SECONDS )
34
+ .readTimeout (30 , TimeUnit .SECONDS )
35
+ .build ();
36
36
37
37
public InstallableScannerVersions getScannerInstallableVersions (String scannerNameRepo ) {
38
38
JSONArray versions ;
39
- try {
40
- HttpUrl .Builder httpBuilder = HttpUrl .parse (String .format ("https://api.github.com/repos/SonarSource/%s/releases" , scannerNameRepo )).newBuilder ();
41
- Request request = new Request .Builder ().url (httpBuilder .build ()).build ();
42
- Response response = client .newCall (request ).execute ();
43
- versions = new JSONArray (response .body ().string ());
39
+ HttpUrl .Builder httpBuilder = HttpUrl .parse (String .format ("https://api.github.com/repos/SonarSource/%s/releases" , scannerNameRepo )).newBuilder ();
40
+ Request request = new Request .Builder ().url (httpBuilder .build ()).build ();
41
+ try (Response response = client .newCall (request ).execute ()) {
42
+
43
+ if (response .isSuccessful ()) {
44
+ versions = new JSONArray (response .body ().string ());
45
+ } else {
46
+ throw new IllegalStateException (String .format ("Got error from Github, status: %d, body: %s" ,
47
+ response .code (), response .body ().string ()));
48
+ }
49
+
44
50
} catch (IOException | JSONException e ) {
45
51
throw new IllegalStateException (String .format ("Could not fetch earliest supported version of %s" , scannerNameRepo ), e );
46
52
}
@@ -58,9 +64,11 @@ public InstallableScannerVersions(String oldestVersion, String latestVersion) {
58
64
this .oldestVersion = oldestVersion ;
59
65
this .latestVersion = latestVersion ;
60
66
}
67
+
61
68
public String getOldestVersion () {
62
69
return oldestVersion ;
63
70
}
71
+
64
72
public String getLatestVersion () {
65
73
return latestVersion ;
66
74
}
0 commit comments