Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.71 KB | None | 0 0
  1. package com.bukkit.d3x.WebPanel;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.DataOutputStream;
  5. import java.io.InputStreamReader;
  6. import java.net.Socket;
  7. //import java.security.Permissions;
  8. import java.util.logging.Level;
  9.  
  10. //import org.bukkit.plugin.PluginManager;
  11. //import org.bukkit.plugin.Plugin;
  12.  
  13. import com.nijikokun.bukkit.Permissions.Permissions;
  14. import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
  15.  
  16. public class WebServerClient extends Thread
  17. {
  18.     WebPanel plugin;
  19.     WebServer wsi;
  20.     Socket wscSocket;
  21.     public WebServerClient(WebPanel p, WebServer i, Socket s)
  22.     {
  23.         WebPanel.l.info("[WebPanel] WebServerClient.WebServerClient();");
  24.         plugin = p;
  25.         wsi = i;
  26.         wscSocket = s;
  27.     }
  28.     @Override
  29.     public void run()
  30.     {
  31.         WebPanel.l.info("[WebPanel] WebServerClient.run();");
  32.         try
  33.         {
  34.             BufferedReader in = new BufferedReader(new InputStreamReader(wscSocket.getInputStream()));
  35.             DataOutputStream out = new DataOutputStream(wscSocket.getOutputStream());
  36.             String line;
  37.             while ( (line = in.readLine()) != null )
  38.             {
  39.                 if ( line.startsWith("GET") )
  40.                 {
  41.                     String g, json = null;
  42.                     g = (line.split(" "))[1];
  43.                     WebPanel.l.log(Level.INFO, "[WebPanel] Client requested {0}", g);
  44.                     if ( g.equals("/json/reload_permissions") )
  45.                     {
  46.                         try
  47.                         {
  48.                             Permissions p = (Permissions)plugin.getServer().getPluginManager().getPlugin("Permissions");
  49.                             p.getConfiguration().load();
  50.                             //p.config.load();
  51.                             p.setupPermissions();
  52.                             json = "{'error': 0}";
  53.                         }
  54.                         catch (Exception e) { json = "{'error': 1, 'errormsg': '" + e + "'}"; }
  55.                     }
  56.                     else if ( g.equals("/json/reload_worldguard_regions") )
  57.                     {
  58.                         try
  59.                         {
  60.                             WorldGuardPlugin p = (WorldGuardPlugin)plugin.getServer().getPluginManager().getPlugin("WorldGuard");
  61.                             p.getRegionLoader().load(p.getRegionManager());
  62.                             json = "{'error': 0}";
  63.                         }
  64.                         catch (Exception e) { json = "{'error': 1, 'errormsg': '" + e + "'}"; }
  65.                     }
  66.                     else
  67.                     {
  68.                         json = "{'error': 1, 'errormsg': 'Request (" + g + ") has no handler.'}";
  69.                     }
  70.                     out.writeBytes("HTTP/1.1 200 OK\r\n");
  71.                     out.writeBytes("Content-Type: text/html\r\n"); //application/json
  72.                     out.writeBytes("Pragma: no-cache\r\n");
  73.                     out.writeBytes("Cache-Control: no-cache\r\n");
  74.                     out.writeBytes("Content-Length: " + json.length() + "\r\n");
  75.                     out.writeBytes("Server: d3x's shitty WebServer class!\r\n");
  76.                     out.writeBytes("Connection: Close\r\n\r\n");
  77.                     out.writeBytes(json.replace("'", "\"").replace("\\", "\\\\"));
  78.                     out.close();
  79.                     break;
  80.                 }
  81.             }
  82.             WebPanel.l.info("[WebPanel] WebServerClient.run(): Done handling request.");
  83.         }
  84.         catch (Exception e) { WebPanel.l.log(Level.WARNING, "[WebPanel] WebServerClient.run(): {0}", e.getMessage()); }
  85.         wsi.clientFinished(this);
  86.         WebPanel.l.info("[WebPanel] WebServerClient.run(): Thread exiting...");
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement