.BANCHO. Add api handlers

This commit is contained in:
Nyo
2016-06-02 22:33:39 +02:00
parent 15933ce962
commit f6be15fa59
6 changed files with 134 additions and 67 deletions

View File

@@ -0,0 +1,35 @@
from helpers import requestHelper
from constants import exceptions
import json
from objects import glob
class handler(requestHelper.asyncRequestHandler):
def asyncGet(self):
statusCode = 400
data = {"message": "unknown error"}
try:
# Check arguments
if requestHelper.checkArguments(self.request.arguments, ["u"]) == False:
raise exceptions.invalidArgumentsException()
# Get online staus
username = self.get_argument("u")
if username == None:
data["result"] = False
else:
data["result"] = True if glob.tokens.getTokenFromUsername(username) != None else False
# Status code and message
statusCode = 200
data["message"] = "ok"
except exceptions.invalidArgumentsException:
statusCode = 400
data["message"] = "missing required arguments"
finally:
# Add status code to data
data["status"] = statusCode
# Send response
self.clear()
self.set_status(statusCode)
self.finish(json.dumps(data))

View File

@@ -0,0 +1,23 @@
from helpers import requestHelper
import json
from objects import glob
class handler(requestHelper.asyncRequestHandler):
def asyncGet(self):
statusCode = 400
data = {"message": "unknown error"}
try:
# Get online users count
data["result"] = len(glob.tokens.tokens)
# Status code and message
statusCode = 200
data["message"] = "ok"
finally:
# Add status code to data
data["status"] = statusCode
# Send response
self.clear()
self.set_status(statusCode)
self.finish(json.dumps(data))

View File

@@ -0,0 +1,23 @@
from helpers import requestHelper
import json
from objects import glob
class handler(requestHelper.asyncRequestHandler):
def asyncGet(self):
statusCode = 400
data = {"message": "unknown error"}
try:
# Get online users count
data["result"] = -1 if glob.restarting == True else 1
# Status code and message
statusCode = 200
data["message"] = "ok"
finally:
# Add status code to data
data["status"] = statusCode
# Send response
self.clear()
self.set_status(statusCode)
self.finish(json.dumps(data))

View File

@@ -0,0 +1,39 @@
from helpers import requestHelper
from constants import exceptions
import json
from objects import glob
from helpers import consoleHelper
from constants import bcolors
from helpers import systemHelper
class handler(requestHelper.asyncRequestHandler):
def asyncGet(self):
statusCode = 400
data = {"message": "unknown error"}
try:
# Check arguments
if requestHelper.checkArguments(self.request.arguments, ["k"]) == False:
raise exceptions.invalidArgumentsException()
# Check ci key
key = self.get_argument("k")
if key is None or key != glob.conf.config["ci"]["key"]:
raise exceptions.invalidArgumentsException()
consoleHelper.printColored("[!] Ci event triggered!!", bcolors.PINK)
systemHelper.scheduleShutdown(5, False, "A new Bancho update is available and the server will be restarted in 5 seconds. Thank you for your patience.")
# Status code and message
statusCode = 200
data["message"] = "ok"
except exceptions.invalidArgumentsException:
statusCode = 400
data["message"] = "invalid ci key"
finally:
# Add status code to data
data["status"] = statusCode
# Send response
self.clear()
self.set_status(statusCode)
self.finish(json.dumps(data))