Fixes for alias/nicknames in web UI (esp handling player icons),

HeroChat fixes
This commit is contained in:
Mike Primm 2011-05-21 23:58:48 -05:00
parent b108cad2d3
commit 06785be5f3
9 changed files with 57 additions and 17 deletions

View file

@ -3,6 +3,7 @@ package org.dynmap.web;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.net.InetSocketAddress;
public class HttpRequest {
public String method;
@ -10,4 +11,5 @@ public class HttpRequest {
public String version;
public Map<String, String> fields = new HashMap<String, String>();
public InputStream body;
public InetSocketAddress rmtaddr;
}

View file

@ -15,6 +15,7 @@ import java.util.regex.Pattern;
import org.dynmap.Log;
import org.dynmap.debug.Debug;
import java.net.InetSocketAddress;
public class HttpServerConnection extends Thread {
protected static final Logger log = Logger.getLogger("Minecraft");
@ -120,13 +121,14 @@ public class HttpServerConnection extends Thread {
if (socket == null)
return;
socket.setSoTimeout(5000);
InetSocketAddress rmtaddr = (InetSocketAddress)socket.getRemoteSocketAddress(); /* Get remote address */
InputStream in = socket.getInputStream();
BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream(), 40960);
printOut = new PrintStream(out, false);
while (true) {
HttpRequest request = new HttpRequest();
request.rmtaddr = rmtaddr;
if (!readRequestHeader(in, request)) {
socket.close();
return;

View file

@ -40,7 +40,8 @@ public class SendMessageHandler implements HttpHandler {
JSONObject o = (JSONObject)parser.parse(reader);
final Message message = new Message();
message.name = String.valueOf(o.get("name"));
//message.name = String.valueOf(o.get("name")); //Can't trust client....we don't need to on internal web server
message.name = request.rmtaddr.getAddress().getHostAddress();
message.message = String.valueOf(o.get("message"));
final long now = System.currentTimeMillis();