/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/web/BanListener.java
ViewVC logotype

Contents of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/web/BanListener.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1935 - (show annotations) (download)
Wed Mar 20 14:50:00 2013 UTC (11 years, 2 months ago) by torben
File size: 1736 byte(s)
Use com.sun.net.httpserver instead of BukkitApi
1 package dk.thoerup.bukkit.hoeruputils.web;
2
3 import java.io.IOException;
4 import java.text.SimpleDateFormat;
5 import java.util.Date;
6
7 import org.bukkit.OfflinePlayer;
8 import org.bukkit.Server;
9 import org.bukkit.plugin.Plugin;
10
11 import com.sun.net.httpserver.HttpExchange;
12 import com.sun.net.httpserver.HttpHandler;
13
14
15
16 public class BanListener implements HttpHandler {
17
18 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19
20 Server server;
21
22 long cachedTime = 0;
23 String cachedText = "";
24
25 public BanListener(Plugin plugin, Server server) {
26
27 this.server = server;
28 }
29
30 String formatTime(String input) {
31 return formatTime( Long.parseLong(input) );
32 }
33 String formatTime(long input) {
34 Date d = new Date( input );
35 return format.format(d );
36 }
37
38
39
40 @Override
41 public void handle(HttpExchange http) throws IOException {
42 /* if(!event.path[0].equalsIgnoreCase("webstatus")) {
43 return;
44 }*/
45
46 String text;
47
48 synchronized(this) { //is this necessary ?
49 long now = System.currentTimeMillis();
50 if ( (now-cachedTime) > 5000) {
51 text = buildText();
52 cachedText = text;
53 cachedTime = now;
54 } else {
55 text = cachedText;
56 }
57 }
58
59
60 http.getResponseBody().write( text.getBytes() );
61 }
62
63 private String buildText() {
64 StringBuilder sb = new StringBuilder();
65
66 sb.append("<h2>Banned Players</h2>");
67 sb.append("<ul>\n");
68 for(OfflinePlayer player : server.getBannedPlayers() ) {
69 sb.append("<li>").append( player.getName() ).append("</li>\n");
70 }
71 sb.append("</ul>\n");
72
73
74 sb.append("<h2>Banned IPs</h2>");
75 sb.append("<ul>\n");
76 for(String ip : server.getIPBans() ) {
77 sb.append("<li>").append( ip ).append("</li>\n");
78 }
79 sb.append("</ul>\n");
80
81
82 return sb.toString();
83
84 }
85
86
87
88 }

  ViewVC Help
Powered by ViewVC 1.1.20