2021-04-03 17:59:12 +02:00
|
|
|
version = "0.1"
|
|
|
|
from flask import Flask
|
2021-05-22 12:04:05 +02:00
|
|
|
from flask_restx import Resource, Api
|
|
|
|
|
2021-04-03 17:59:12 +02:00
|
|
|
app = Flask(__name__)
|
2021-05-22 12:04:05 +02:00
|
|
|
app.url_map.strict_slashes = False
|
2021-05-22 12:55:46 +02:00
|
|
|
api = Api(app, version=version, title='CyCAT.org API', description='CyCAT - The Cybersecurity Resource Catalogue public API services.', doc='/doc/')
|
2021-04-03 17:59:12 +02:00
|
|
|
import uuid
|
|
|
|
import inspect
|
|
|
|
import redis
|
|
|
|
|
2021-05-22 12:04:05 +02:00
|
|
|
|
2021-04-03 17:59:12 +02:00
|
|
|
r = redis.Redis(host='127.0.0.1', port='3033')
|
2021-05-22 12:04:05 +02:00
|
|
|
@api.route('/info')
|
2021-05-22 12:55:46 +02:00
|
|
|
@api.doc(description="Get information about the CyCAT backend services including status, overall statistics and version.")
|
2021-05-22 12:04:05 +02:00
|
|
|
class info(Resource):
|
|
|
|
def get(self):
|
|
|
|
return "CyCAT backend {}".format(version)
|
2021-04-03 17:59:12 +02:00
|
|
|
|
2021-05-22 12:04:05 +02:00
|
|
|
@api.route('/generate/uuid')
|
2021-05-22 12:55:46 +02:00
|
|
|
@api.doc(description="Generate an UUID version 4 RFC4122-compliant.")
|
2021-05-22 12:04:05 +02:00
|
|
|
class generateUUID(Resource):
|
|
|
|
def get(self):
|
|
|
|
genuuid = uuid.uuid4()
|
|
|
|
k = "stats:f:{}".format(inspect.stack()[0][3].lower())
|
|
|
|
r.incr(k, 1)
|
|
|
|
return "{}".format(genuuid)
|
2021-04-03 17:59:12 +02:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
app.run()
|