Initial cleanup of the codebase
Change-Id: Idbc92ea3c2d7ee4d4807d1d83ceee9a299b9a9f7
diff --git a/app/APIFactory.py b/app/APIFactory.py
new file mode 100644
index 0000000..befde7e
--- /dev/null
+++ b/app/APIFactory.py
@@ -0,0 +1,92 @@
+import logging
+
+from flask import flash
+import jwt
+import requests.exceptions
+from requests.auth import AuthBase
+
+import config
+
+
+__author__ = 'hanl'
+
+logging.basicConfig(level=logging.DEBUG)
+
+
+def get(path="", **kwargs):
+ path = config.URIBuilder().addPath(path).build()
+ if kwargs and path is not "":
+ try:
+ response = requests.get(path, **kwargs)
+ except requests.exceptions.RequestException as e:
+ print e
+ flash("Connection to API server could not be established", "danger")
+ return None
+ print "the response %i:%s" % (response.status_code, str(response.content))
+ return response
+ return None
+
+
+def post(path="", **kwargs):
+ path = config.URIBuilder().addPath(path).build()
+ if 'headers' in kwargs:
+ headers = kwargs['headers']
+ headers["Content-Type"] = "application/x-www-form-urlencoded"
+ else:
+ headers = {"Content-Type": "application/x-www-form-urlencoded"}
+ kwargs['headers'] = headers
+
+ if kwargs and path is not "":
+ try:
+ response = requests.post(path, **kwargs)
+ except requests.exceptions.RequestException as e:
+ print e
+ flash("Connection to API server could not be established", "danger")
+ return None
+ print "the response %i:%s" % (response.status_code, str(response.content))
+ return response
+ return None
+
+
+def trace(path="", **kwargs):
+ path = config.URIBuilder().addPath(path).build()
+ if path is not "":
+ try:
+ return requests.request("trace", path, **kwargs)
+ except requests.exceptions.RequestException as e:
+ print e
+ flash("Connection to API server could not be established", "danger")
+ return None
+ return None
+
+
+def decrypt_openid(secret=config.SECRET_KEY, token=None):
+ values = jwt.decode(jwt=token, key=secret)
+ print "decoded values %s" % str(values)
+ return values
+
+
+def encrypt_string(secret=config.SECRET_KEY, *args):
+ jwt_string = jwt.encode(args, key=secret)
+ print "encoded string %s" % str(jwt_string)
+ return jwt_string
+
+
+class Oauth2Auth(AuthBase):
+ def __init__(self, token=None):
+ self.token = token
+
+ def __call__(self, r):
+ if self.token is not None:
+ r.headers['Authorization'] = "OAuth2 Bearer " + self.token
+ return r
+
+
+class CustomAuth(AuthBase):
+ def __init__(self, token=None):
+ self.token = token
+
+ def __call__(self, r):
+ if self.token is not None:
+ r.headers['Authorization'] = "api_token " + self.token
+ return r