Fixes for alias/nicknames in web UI (esp handling player icons),
HeroChat fixes
This commit is contained in:
parent
b108cad2d3
commit
06785be5f3
9 changed files with 57 additions and 17 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue