Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.bukkit.d3x.WebPanel;
- import java.io.BufferedReader;
- import java.io.DataOutputStream;
- import java.io.InputStreamReader;
- import java.net.Socket;
- //import java.security.Permissions;
- import java.util.logging.Level;
- //import org.bukkit.plugin.PluginManager;
- //import org.bukkit.plugin.Plugin;
- import com.nijikokun.bukkit.Permissions.Permissions;
- import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
- public class WebServerClient extends Thread
- {
- WebPanel plugin;
- WebServer wsi;
- Socket wscSocket;
- public WebServerClient(WebPanel p, WebServer i, Socket s)
- {
- WebPanel.l.info("[WebPanel] WebServerClient.WebServerClient();");
- plugin = p;
- wsi = i;
- wscSocket = s;
- }
- @Override
- public void run()
- {
- WebPanel.l.info("[WebPanel] WebServerClient.run();");
- try
- {
- BufferedReader in = new BufferedReader(new InputStreamReader(wscSocket.getInputStream()));
- DataOutputStream out = new DataOutputStream(wscSocket.getOutputStream());
- String line;
- while ( (line = in.readLine()) != null )
- {
- if ( line.startsWith("GET") )
- {
- String g, json = null;
- g = (line.split(" "))[1];
- WebPanel.l.log(Level.INFO, "[WebPanel] Client requested {0}", g);
- if ( g.equals("/json/reload_permissions") )
- {
- try
- {
- Permissions p = (Permissions)plugin.getServer().getPluginManager().getPlugin("Permissions");
- p.getConfiguration().load();
- //p.config.load();
- p.setupPermissions();
- json = "{'error': 0}";
- }
- catch (Exception e) { json = "{'error': 1, 'errormsg': '" + e + "'}"; }
- }
- else if ( g.equals("/json/reload_worldguard_regions") )
- {
- try
- {
- WorldGuardPlugin p = (WorldGuardPlugin)plugin.getServer().getPluginManager().getPlugin("WorldGuard");
- p.getRegionLoader().load(p.getRegionManager());
- json = "{'error': 0}";
- }
- catch (Exception e) { json = "{'error': 1, 'errormsg': '" + e + "'}"; }
- }
- else
- {
- json = "{'error': 1, 'errormsg': 'Request (" + g + ") has no handler.'}";
- }
- out.writeBytes("HTTP/1.1 200 OK\r\n");
- out.writeBytes("Content-Type: text/html\r\n"); //application/json
- out.writeBytes("Pragma: no-cache\r\n");
- out.writeBytes("Cache-Control: no-cache\r\n");
- out.writeBytes("Content-Length: " + json.length() + "\r\n");
- out.writeBytes("Server: d3x's shitty WebServer class!\r\n");
- out.writeBytes("Connection: Close\r\n\r\n");
- out.writeBytes(json.replace("'", "\"").replace("\\", "\\\\"));
- out.close();
- break;
- }
- }
- WebPanel.l.info("[WebPanel] WebServerClient.run(): Done handling request.");
- }
- catch (Exception e) { WebPanel.l.log(Level.WARNING, "[WebPanel] WebServerClient.run(): {0}", e.getMessage()); }
- wsi.clientFinished(this);
- WebPanel.l.info("[WebPanel] WebServerClient.run(): Thread exiting...");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement