mirror of https://github.com/M66B/FairEmail.git
Make sure URL connection is closed
This commit is contained in:
parent
64e48fdc76
commit
b8e04341ab
|
@ -354,7 +354,7 @@ public class ContactInfo {
|
|||
emailGravatar.put(gkey, new Gravatar(false));
|
||||
}
|
||||
} else
|
||||
throw new IOException("HTTP status=" + status);
|
||||
throw new IOException("Error " + status + ": " + urlConnection.getResponseMessage());
|
||||
|
||||
} catch (Throwable ex) {
|
||||
Log.w(ex);
|
||||
|
@ -907,7 +907,7 @@ public class ContactInfo {
|
|||
try {
|
||||
int status = connection.getResponseCode();
|
||||
if (status != HttpURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + connection.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + connection.getResponseMessage());
|
||||
|
||||
if ("image/svg+xml".equals(type) || url.getPath().endsWith(".svg")) {
|
||||
Bitmap bitmap = ImageHelper.renderSvg(connection.getInputStream(), Color.WHITE, scaleToPixels);
|
||||
|
|
|
@ -123,7 +123,7 @@ public class DisconnectBlacklist {
|
|||
try {
|
||||
int status = connection.getResponseCode();
|
||||
if (status != HttpsURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + connection.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + connection.getResponseMessage());
|
||||
|
||||
String response = Helper.readStream(connection.getInputStream());
|
||||
Helper.writeText(file, response);
|
||||
|
|
|
@ -391,7 +391,7 @@ public class EmailProvider implements Parcelable {
|
|||
|
||||
int status = request.getResponseCode();
|
||||
if (status != HttpURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + request.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + request.getResponseMessage());
|
||||
|
||||
// https://developer.android.com/reference/org/xmlpull/v1/XmlPullParser
|
||||
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
|
||||
|
|
|
@ -8037,7 +8037,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
|||
try {
|
||||
int status = connection.getResponseCode();
|
||||
if (status != HttpURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + connection.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + connection.getResponseMessage());
|
||||
|
||||
Helper.copy(connection.getInputStream(), os);
|
||||
} finally {
|
||||
|
|
|
@ -598,7 +598,7 @@ public class FragmentOAuth extends FragmentBase {
|
|||
try {
|
||||
int status = connection.getResponseCode();
|
||||
if (status != HttpsURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + connection.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + connection.getResponseMessage());
|
||||
|
||||
String json = Helper.readStream(connection.getInputStream());
|
||||
Log.i("json=" + json);
|
||||
|
|
|
@ -82,7 +82,7 @@ public class IPInfo {
|
|||
try {
|
||||
int status = connection.getResponseCode();
|
||||
if (status != HttpsURLConnection.HTTP_OK)
|
||||
throw new FileNotFoundException("Error " + status + ":" + connection.getResponseMessage());
|
||||
throw new FileNotFoundException("Error " + status + ": " + connection.getResponseMessage());
|
||||
|
||||
String response = Helper.readStream(connection.getInputStream());
|
||||
organization.name = response.trim();
|
||||
|
|
|
@ -639,31 +639,36 @@ class ImageHelper {
|
|||
urlConnection.setRequestProperty("User-Agent", WebViewEx.getUserAgent(context));
|
||||
urlConnection.connect();
|
||||
|
||||
int status = urlConnection.getResponseCode();
|
||||
try {
|
||||
int status = urlConnection.getResponseCode();
|
||||
|
||||
if (status == HttpURLConnection.HTTP_MOVED_PERM ||
|
||||
status == HttpURLConnection.HTTP_MOVED_TEMP ||
|
||||
status == HttpURLConnection.HTTP_SEE_OTHER ||
|
||||
status == 307 /* Temporary redirect */ ||
|
||||
status == 308 /* Permanent redirect */) {
|
||||
if (++redirects > MAX_REDIRECTS)
|
||||
throw new IOException("Too many redirects");
|
||||
if (status == HttpURLConnection.HTTP_MOVED_PERM ||
|
||||
status == HttpURLConnection.HTTP_MOVED_TEMP ||
|
||||
status == HttpURLConnection.HTTP_SEE_OTHER ||
|
||||
status == 307 /* Temporary redirect */ ||
|
||||
status == 308 /* Permanent redirect */) {
|
||||
if (++redirects > MAX_REDIRECTS)
|
||||
throw new IOException("Too many redirects");
|
||||
|
||||
String header = urlConnection.getHeaderField("Location");
|
||||
if (header == null)
|
||||
throw new IOException("Location header missing");
|
||||
String header = urlConnection.getHeaderField("Location");
|
||||
if (header == null)
|
||||
throw new IOException("Location header missing");
|
||||
|
||||
String location = URLDecoder.decode(header, StandardCharsets.UTF_8.name());
|
||||
url = new URL(url, location);
|
||||
Log.i("Redirect #" + redirects + " to " + url);
|
||||
String location = URLDecoder.decode(header, StandardCharsets.UTF_8.name());
|
||||
url = new URL(url, location);
|
||||
Log.i("Redirect #" + redirects + " to " + url);
|
||||
|
||||
urlConnection.disconnect();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (status != HttpURLConnection.HTTP_OK)
|
||||
throw new IOException("Error " + status + ": " + urlConnection.getResponseMessage());
|
||||
} catch (IOException ex) {
|
||||
urlConnection.disconnect();
|
||||
continue;
|
||||
throw ex;
|
||||
}
|
||||
|
||||
if (status != HttpURLConnection.HTTP_OK)
|
||||
throw new IOException("HTTP status=" + status);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue