blob: befde7e3cd97329b91f10f58e0c9ad4976096d24 [file] [log] [blame]
Akronca9bd982016-12-06 16:59:57 +01001import logging
2
3from flask import flash
4import jwt
5import requests.exceptions
6from requests.auth import AuthBase
7
8import config
9
10
11__author__ = 'hanl'
12
13logging.basicConfig(level=logging.DEBUG)
14
15
16def get(path="", **kwargs):
17 path = config.URIBuilder().addPath(path).build()
18 if kwargs and path is not "":
19 try:
20 response = requests.get(path, **kwargs)
21 except requests.exceptions.RequestException as e:
22 print e
23 flash("Connection to API server could not be established", "danger")
24 return None
25 print "the response %i:%s" % (response.status_code, str(response.content))
26 return response
27 return None
28
29
30def post(path="", **kwargs):
31 path = config.URIBuilder().addPath(path).build()
32 if 'headers' in kwargs:
33 headers = kwargs['headers']
34 headers["Content-Type"] = "application/x-www-form-urlencoded"
35 else:
36 headers = {"Content-Type": "application/x-www-form-urlencoded"}
37 kwargs['headers'] = headers
38
39 if kwargs and path is not "":
40 try:
41 response = requests.post(path, **kwargs)
42 except requests.exceptions.RequestException as e:
43 print e
44 flash("Connection to API server could not be established", "danger")
45 return None
46 print "the response %i:%s" % (response.status_code, str(response.content))
47 return response
48 return None
49
50
51def trace(path="", **kwargs):
52 path = config.URIBuilder().addPath(path).build()
53 if path is not "":
54 try:
55 return requests.request("trace", path, **kwargs)
56 except requests.exceptions.RequestException as e:
57 print e
58 flash("Connection to API server could not be established", "danger")
59 return None
60 return None
61
62
63def decrypt_openid(secret=config.SECRET_KEY, token=None):
64 values = jwt.decode(jwt=token, key=secret)
65 print "decoded values %s" % str(values)
66 return values
67
68
69def encrypt_string(secret=config.SECRET_KEY, *args):
70 jwt_string = jwt.encode(args, key=secret)
71 print "encoded string %s" % str(jwt_string)
72 return jwt_string
73
74
75class Oauth2Auth(AuthBase):
76 def __init__(self, token=None):
77 self.token = token
78
79 def __call__(self, r):
80 if self.token is not None:
81 r.headers['Authorization'] = "OAuth2 Bearer " + self.token
82 return r
83
84
85class CustomAuth(AuthBase):
86 def __init__(self, token=None):
87 self.token = token
88
89 def __call__(self, r):
90 if self.token is not None:
91 r.headers['Authorization'] = "api_token " + self.token
92 return r