diff --git a/README.md b/README.md index e0a3161..3f5672b 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ socket.on(Socket.EVENT_TRANSPORT, new Emitter.listener() { @SuppressWarnings("unchecked") Map headers = (Map)args[0]; // get cookies from server. - String cookie = headers.get("Set-Cookie")); + String cookie = headers.get("Set-Cookie"); } }); } 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 193f009..96b183f 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 @@ -197,10 +197,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)); + + Map> 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();