From 29991ee00e4f71396409503a3308876bc38447a7 Mon Sep 17 00:00:00 2001 From: Andre Di Genova Date: Sun, 10 Aug 2014 03:47:10 -0400 Subject: [PATCH] Android 19 on a 4.4.2 simulator seems to return a null when getHeaderFields is called on a headerless request instead of an empty map which results in an NPE. --- .../nkzawa/engineio/client/transports/PollingXHR.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/github/nkzawa/engineio/client/transports/PollingXHR.java b/src/main/java/com/github/nkzawa/engineio/client/transports/PollingXHR.java index 8e54ec4..2d0e712 100644 --- a/src/main/java/com/github/nkzawa/engineio/client/transports/PollingXHR.java +++ b/src/main/java/com/github/nkzawa/engineio/client/transports/PollingXHR.java @@ -201,10 +201,15 @@ public class PollingXHR extends Polling { } Map headers = new TreeMap(String.CASE_INSENSITIVE_ORDER); - for (String key : xhr.getHeaderFields().keySet()) { - if (key == null) continue; - headers.put(key, xhr.getHeaderField(key)); + + xhrHeaderFields = xhr.getHeaderFields(); + if(xhrHeaderFields != null) { + for (String key : xhrHeaderFields.keySet()) { + if (key == null) continue; + headers.put(key, xhr.getHeaderField(key)); + } } + self.onResponseHeaders(headers); final int statusCode = xhr.getResponseCode();