Revize 1fa243ca
Přidáno uživatelem Jan Pašek před asi 4 roky(ů)
app.py | ||
---|---|---|
1 |
from flask import Flask, redirect |
|
2 | 1 |
import os |
2 |
|
|
3 |
from flask import Flask, redirect |
|
4 |
from injector import Injector |
|
5 |
|
|
6 |
from src.config import configuration |
|
7 |
from src.config.connection_provider import ConnectionProvider |
|
3 | 8 |
from src.controllers.certificates_controller import CertController |
4 | 9 |
|
5 |
app = Flask(__name__) |
|
10 |
|
|
11 |
class X509ManagementApp(Flask): |
|
12 |
|
|
13 |
def run(self, host=None, port=None, debug=None, load_dotenv=True, **options): |
|
14 |
with self.app_context(): |
|
15 |
initialize_app() |
|
16 |
super(X509ManagementApp, self).run(host=host, port=port, debug=debug, load_dotenv=load_dotenv, **options) |
|
17 |
|
|
18 |
|
|
19 |
app = X509ManagementApp(__name__) |
|
20 |
certificate_controller: CertController = None |
|
6 | 21 |
|
7 | 22 |
|
8 | 23 |
@app.route('/') |
... | ... | |
12 | 27 |
|
13 | 28 |
@app.route('/api/certificates', methods=["POST"]) |
14 | 29 |
def create_certificate(): |
15 |
return CertController.create_certificate()
|
|
30 |
return certificate_controller.create_certificate()
|
|
16 | 31 |
|
17 | 32 |
|
18 | 33 |
@app.route('/api/certificates', methods=["GET"]) |
19 | 34 |
def get_cert_list(): |
20 |
return CertController.get_certificate_list()
|
|
35 |
return certificate_controller.get_certificate_list()
|
|
21 | 36 |
|
22 | 37 |
|
23 | 38 |
@app.route('/api/certificates/<id>', methods=["GET"]) |
24 | 39 |
def get_cert(id): |
25 |
return CertController.get_certificate_by_id(id)
|
|
40 |
return certificate_controller.get_certificate_by_id(id)
|
|
26 | 41 |
|
27 | 42 |
|
28 | 43 |
@app.route('/api/certificates/<id>/details', methods=["GET"]) |
29 |
def get_cert_detes(id):
|
|
30 |
return CertController.get_certificate_details_by_id(id)
|
|
44 |
def get_cert_details(id):
|
|
45 |
return certificate_controller.get_certificate_details_by_id(id)
|
|
31 | 46 |
|
32 | 47 |
|
33 | 48 |
@app.route('/api/certificates/<id>/root', methods=["GET"]) |
34 | 49 |
def get_cert_root(id): |
35 |
return CertController.get_certificate_root_by_id(id)
|
|
50 |
return certificate_controller.get_certificate_root_by_id(id)
|
|
36 | 51 |
|
37 | 52 |
|
38 | 53 |
@app.route('/api/certificates/<id>/chain', methods=["GET"]) |
39 | 54 |
def get_cert_chain(id): |
40 |
return CertController.get_certificate_trust_chain_by_id(id) |
|
55 |
return certificate_controller.get_certificate_trust_chain_by_id(id) |
|
56 |
|
|
57 |
|
|
58 |
def initialize_app(): |
|
59 |
global certificate_controller |
|
60 |
|
|
61 |
injector = Injector([configuration.configure_default, ConnectionProvider]) |
|
62 |
certificate_controller = injector.get(CertController) |
|
41 | 63 |
|
42 | 64 |
|
43 | 65 |
if __name__ == '__main__': |
44 |
host = "0.0.0.0" |
|
45 |
port = 5000 |
|
66 |
app_host = "0.0.0.0"
|
|
67 |
app_port = 5000
|
|
46 | 68 |
|
47 | 69 |
# TODO better load this from config.py |
48 | 70 |
if "FLASK_HOST" in os.environ: |
49 |
host = os.environ["FLASK_HOST"] |
|
71 |
app_host = os.environ["FLASK_HOST"]
|
|
50 | 72 |
|
51 | 73 |
if "FLASK_PORT" in os.environ: |
52 |
host = os.environ["FLASK_PORT"] |
|
74 |
app_host = os.environ["FLASK_PORT"]
|
|
53 | 75 |
|
54 |
app.run(host=host, port=port) |
|
76 |
app.run(host=app_host, port=app_port) |
Také k dispozici: Unified diff
Re #8569 Added application initialization and running dependency injection