From df453940d198ae13d82ef15e192583c34a8a2399 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Sun, 22 Jan 2023 17:31:26 -0500 Subject: [PATCH] method override --- server.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/server.py b/server.py index 70ebf4d..d268917 100644 --- a/server.py +++ b/server.py @@ -1,9 +1,18 @@ -from flask import Flask, render_template, request, redirect, make_response +from flask import Flask, render_template, request, redirect, make_response, Request import mysql.connector import os # TODO: add breadcrumb +class HTTPMethodOverrideMiddleware(object): + def __init__(self, app): + self.app = app + def __call__(self, environ, start_response): + request = Request(environ) + if request.args.get('_method'): + environ['REQUEST_METHOD'] = request.args.get('_method') + return self.app(environ, start_response) + mydb = mysql.connector.connect( host=os.environ.get("HOST"), user=os.environ.get("USER"), @@ -13,6 +22,11 @@ mydb = mysql.connector.connect( mydb.autocommit = True cursor = mydb.cursor() app = Flask(__name__) +app.wsgi_app = HTTPMethodOverrideMiddleware(app.wsgi_app) + +@app.put('/') +def test(): + return 'hi' @app.get("/") def show_all():