From e65f75efd14e8305efa67b9678c631b672321337 Mon Sep 17 00:00:00 2001 From: rutgerkok Date: Thu, 5 Feb 2015 13:35:50 +0100 Subject: [PATCH] Fix ParseException when no response is returned for past name lookup --- .../blocklocker/impl/converter/UUIDHandler.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/nl/rutgerkok/blocklocker/impl/converter/UUIDHandler.java b/src/main/java/nl/rutgerkok/blocklocker/impl/converter/UUIDHandler.java index afecc3b..e59a5ad 100644 --- a/src/main/java/nl/rutgerkok/blocklocker/impl/converter/UUIDHandler.java +++ b/src/main/java/nl/rutgerkok/blocklocker/impl/converter/UUIDHandler.java @@ -136,11 +136,14 @@ Map uuidLookupInPast(List names, Date timestamp) throws for (String name : names) { String urlString = PAST_PROFILE_URL + '/' + name + "?at=" + epochSeconds; URL url = new URL(urlString); - JSONObject object = (JSONObject) jsonParser - .parse(new InputStreamReader(url.openStream())); - String newName = (String) object.get("name"); - UUID uuid = parseMojangUniqueId((String) object.get("id")); - uuidMap.put(name, new Result(newName, uuid)); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + if (connection.getResponseCode() == 200) { + JSONObject object = (JSONObject) jsonParser + .parse(new InputStreamReader(connection.getInputStream())); + String newName = (String) object.get("name"); + UUID uuid = parseMojangUniqueId((String) object.get("id")); + uuidMap.put(name, new Result(newName, uuid)); + } Thread.sleep(100L); } @@ -256,7 +259,6 @@ public ResultConsumer(boolean resultsOnServerThread) { */ private static final int MAX_SIGN_LINE_LENGTH = 15; - private static final Pattern validUserPattern = Pattern.compile("^[a-zA-Z0-9_]{2,16}$"); private static final UUID ZERO_UUID = new UUID(0, 0); @@ -339,6 +341,7 @@ private static void writeBody(HttpURLConnection connection, String body) stream.flush(); stream.close(); } + private final Logger logger; private final MojangWeb mojangWeb = new MojangWeb();