summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/dnbd3/status/WebServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/dnbd3/status/WebServer.java')
-rw-r--r--src/main/java/org/openslx/dnbd3/status/WebServer.java33
1 files changed, 23 insertions, 10 deletions
diff --git a/src/main/java/org/openslx/dnbd3/status/WebServer.java b/src/main/java/org/openslx/dnbd3/status/WebServer.java
index 3e1a65c..f652f6a 100644
--- a/src/main/java/org/openslx/dnbd3/status/WebServer.java
+++ b/src/main/java/org/openslx/dnbd3/status/WebServer.java
@@ -18,15 +18,24 @@ public class WebServer extends NanoHTTPD
private final StatisticsGenerator imageGenerator;
- public WebServer( int port )
+ public WebServer( int port, String... servers )
{
super( port );
List<ServerPoller> pollers = new ArrayList<>();
- pollers.add( new ServerPoller( "132.230.4.2", 5003 ) );
- pollers.add( new ServerPoller( "132.230.8.113", 5003 ) );
- pollers.add( new ServerPoller( "132.230.4.60", 5003 ) );
- pollers.add( new ServerPoller( "10.4.128.240", 5003 ) );
- pollers.add( new ServerPoller( "10.3.56.43", 5003 ) );
+ for ( String server : servers ) {
+ String[] parts = server.split( ":" );
+ if (parts.length > 2) {
+ System.out.println( "Ignoring invalid line " + server );
+ } else if (parts.length == 2) {
+ try {
+ pollers.add( new ServerPoller( parts[0], Integer.parseInt( parts[1] ) ) );
+ } catch (NumberFormatException e) {
+ System.out.println( "Ignoring invalid port from " + server );
+ }
+ } else {
+ pollers.add( new ServerPoller( server, 5003 ) );
+ }
+ }
imageGenerator = new StatisticsGenerator( pollers );
}
@@ -39,7 +48,9 @@ public class WebServer extends NanoHTTPD
if ( uri.equals( "/image.png" ) )
return serveImage();
if ( uri.equals( "/data.json" ) )
- return serveJson();
+ return serveJson(false);
+ if ( uri.equals( "/data2.json" ) )
+ return serveJson(true);
// Static files
if ( uri.equals( "/" ) )
@@ -89,13 +100,15 @@ public class WebServer extends NanoHTTPD
}
}
- private NanoHTTPD.Response serveJson()
+ private NanoHTTPD.Response serveJson(boolean newFormat)
{
- String data = imageGenerator.getJson();
+ String data = imageGenerator.getJson(newFormat);
if ( data == null ) {
return new NanoHTTPD.Response( NanoHTTPD.Response.Status.INTERNAL_ERROR, "text/plain", "Internal Server Error" );
} else {
- return new NanoHTTPD.Response( NanoHTTPD.Response.Status.OK, "application/json", data );
+ NanoHTTPD.Response response = new NanoHTTPD.Response( NanoHTTPD.Response.Status.OK, "application/json", data );
+ response.addHeader( "Access-Control-Allow-Origin", "*" );
+ return response;
}
}