Genius proxy working, with client_id auth

This commit is contained in:
James Barnsley
2018-08-20 21:37:18 +12:00
parent 34fbc8f411
commit 82a5470623
2 changed files with 37 additions and 5 deletions

View File

@ -976,14 +976,46 @@ class IrisCore(object):
def get_lyrics(self, *args, **kwargs):
callback = kwargs.get('callback', False)
data = kwargs.get('data', False)
request = kwargs.get('request', False)
error = False
url = ""
url = 'https://genius.com'+data['path']
try:
path = request.get_argument('path')
url = 'https://genius.com'+path
except Exception, e:
logger.error(e)
error = {
'message': "Path not valid",
'description': str(e)
}
try:
client_id = request.get_argument('client_id')
if client_id not in self.connections:
error = {
'message': 'Unauthorized request',
'description': client_id+' not connected'
}
except Exception, e:
logger.error(e)
error = {
'message': "Unauthorized request",
'description': "client_id missing"
}
if error:
if (callback):
callback(False, error)
return
else:
return error
http_request = tornado.httpclient.HTTPRequest(url)
http_client = tornado.httpclient.HTTPClient()
request = tornado.httpclient.HTTPRequest(url)
response = http_client.fetch(request, callback=callback)
http_client.fetch(http_request, callback=callback)
##

View File

@ -164,7 +164,7 @@ class HttpHandler(tornado.web.RequestHandler):
# make sure the method exists
if hasattr(mem.iris, slug):
getattr(mem.iris, slug)(request=self.request, callback=lambda response, error=False: self.handle_result(id=id, method=slug, response=response, error=error))
getattr(mem.iris, slug)(request=self, callback=lambda response, error=False: self.handle_result(id=id, method=slug, response=response, error=error))
else:
self.handle_result(id=id, error={'code': 32601, 'message': "Method "+slug+" does not exist"})