40 lines
883 B
Python
40 lines
883 B
Python
|
from flask import Flask, request, url_for, render_template
|
||
|
from rich.logging import RichHandler
|
||
|
import logging
|
||
|
from waitress import serve
|
||
|
import toml
|
||
|
import werkzeug.serving
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
|
||
|
# Load configuration from config.toml
|
||
|
config = toml.load("config.toml")
|
||
|
|
||
|
# Configure Rich logging
|
||
|
logging.basicConfig(level=logging.DEBUG, handlers=[RichHandler()])
|
||
|
logger = logging.getLogger(__name__)
|
||
|
|
||
|
|
||
|
@app.before_request
|
||
|
def log_request_info():
|
||
|
logger.debug(f"Request: {request.method} {request.url}")
|
||
|
|
||
|
|
||
|
@app.route("/hello")
|
||
|
def hello():
|
||
|
return render_template("hello.html")
|
||
|
|
||
|
@app.route("/")
|
||
|
def home():
|
||
|
return render_template("index.html")
|
||
|
|
||
|
|
||
|
def run_server():
|
||
|
app.debug = config["server"]["debug"]
|
||
|
logger.debug("Starting server with Flask")
|
||
|
app.run(host=config["server"]["host"], port=config["server"]["port"])
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
run_server()
|