-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.py
81 lines (60 loc) · 2.22 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env python3
from flask import Flask
from flask import render_template, request, jsonify, redirect
from api import query
app = Flask(__name__, static_folder='public')
app.config['JSON_AS_ASCII'] = False
@app.route('/', methods=['GET'])
def index():
return redirect('/statistic')
@app.route('/flow', methods=['GET'])
@app.route('/statistic', methods=['GET'])
@app.route('/interval', methods=['GET'])
@app.route('/filter', methods=['GET'])
@app.route('/ddos', methods=['GET'])
def page():
return render_template('index.html')
@app.route('/api/file_list', methods=['GET'])
def file_list():
from api.file_list import get_result
path = request.args.get('path')
result = get_result(path)
return jsonify(result)
@app.route('/api/flow_rate', methods=['POST'])
def flow_rate():
from api.flow_rate import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter)
return jsonify(result)
@app.route('/api/statistic', methods=['POST'])
def statistic():
from api.statistic import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter)
return jsonify(result)
@app.route('/api/packet_interval', methods=['POST'])
def packet_interval():
from api.packet_interval import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter)
return jsonify(result)
@app.route('/api/filter', methods=['POST'])
def filter():
from api.filter import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter, data.output.format, data.output.file)
return jsonify(result)
@app.route('/api/filter-dry', methods=['POST'])
def filter_dry():
from api.filter_dry import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter, data.output.format, data.output.file)
return jsonify(result)
@app.route('/api/ddos_detection', methods=['POST'])
def detect_ddos():
from api.ddos_detection import get_result
data = query.parse(request.json)
result = get_result(data.input.files, data.filter, data.threshold, data.window)
return jsonify(result)
if __name__ == '__main__':
app.run()