diff --git a/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java b/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java index 2aed3d0ba..fd9b5de26 100644 --- a/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java +++ b/src/main/java/dan200/computercraft/core/apis/HTTPAPI.java @@ -69,7 +69,7 @@ public class HTTPAPI implements ILuaAPI } } - private static ILuaObject wrapBufferedReader( final BufferedReader reader, final int responseCode, final Map> responseHeaders ) + private static ILuaObject wrapBufferedReader( final BufferedReader reader, final int responseCode, final Map responseHeaders ) { return new ILuaObject() { @Override diff --git a/src/main/java/dan200/computercraft/core/apis/HTTPRequest.java b/src/main/java/dan200/computercraft/core/apis/HTTPRequest.java index 8b7a7a3e1..c07259d89 100644 --- a/src/main/java/dan200/computercraft/core/apis/HTTPRequest.java +++ b/src/main/java/dan200/computercraft/core/apis/HTTPRequest.java @@ -6,6 +6,7 @@ package dan200.computercraft.core.apis; +import com.google.common.base.Joiner; import dan200.computercraft.ComputerCraft; import java.io.*; @@ -207,16 +208,10 @@ public class HTTPRequest m_result = result.toString(); m_responseCode = connection.getResponseCode(); - Map> headers = m_responseHeaders = new HashMap>(); + Joiner joiner = Joiner.on( ',' ); + Map headers = m_responseHeaders = new HashMap(); for (Map.Entry> header : connection.getHeaderFields().entrySet()) { - Map values = new HashMap(); - - int i = 0; - for (String value : header.getValue()) { - values.put(++i, value); - } - - headers.put(header.getKey(), values); + headers.put(header.getKey(), joiner.join( header.getValue() )); } } } @@ -264,7 +259,7 @@ public class HTTPRequest } } - public Map> getResponseHeaders() { + public Map getResponseHeaders() { synchronized (m_lock) { return m_responseHeaders; } @@ -299,5 +294,5 @@ public class HTTPRequest private boolean m_success; private String m_result; private int m_responseCode; - private Map> m_responseHeaders; + private Map m_responseHeaders; }