Added rate limiting

This commit is contained in:
2026-06-02 21:45:32 +01:00
parent 80f54299a6
commit a13f73cb99
2 changed files with 12 additions and 1 deletions

12
app.py
View File

@ -7,6 +7,8 @@ import logging
import json
import os
from flask_limiter.util import get_remote_address
from flask_limiter import Limiter
import waitress.server
import flask
@ -19,8 +21,15 @@ ACTION_MAP = {'shock': whspah.MODES.SHOCK,
app = flask.Flask(__name__, static_folder='./www/')
limiter = Limiter(
get_remote_address,
app=app,
storage_uri="memory://",
)
@app.route('/', defaults={'path': 'index.html'})
@app.route('/<path:path>')
@limiter.exempt
def staticPage(path):
"""
Returns anything requested in the static folder.
@ -35,6 +44,7 @@ def staticPage(path):
return flask.send_from_directory(app.static_folder, path)
@app.route('/transmit', methods=['POST'], strict_slashes=False)
@limiter.limit("1/second")
def transmit():
"""
Transmits the data contained within the POST request through WHSPAH.
@ -97,4 +107,4 @@ if __name__ == '__main__':
pass
server.close()
app.config['transmitter'].close()
app.config['transmitter'].close()