Exécuter un script avec payload lors d’un POST request et renvoyer le JSON résultant

Ça y est, j’ai trouvé la solution à mon problème.

Je rappelle la problématique : j’ai un serveur qui tourne et qui sait exécuter un script python pour scrapper des données (à partir d’infos de connexions qui sont dans le script) ; je voulais pouvoir sortir ces données du script et les envoyer via une requête POST depuis une app Flutter en développement pour que chacun puisse exécuter le-dit script avec ses propres infos de connexion…

Ma solution en 5 lettres : UWSGI :slight_smile:
https://uwsgi-docs.readthedocs.io/en/latest/

Ça se lance en tâche de fond sur le serveur et ça intercepte les requêtes pour les envoyer au script…

path_provided = ""

request_body = environ['wsgi.input'].read(request_body_size)
vals = parse_qs(request_body)
thePath = vals.get(b"path")
if thePath:
    path_provided = escape(thePath[0].decode("utf-8")).replace("%2F", "/")

et hop, ça joue le script avec les données d’en-tête… et ça renvoie un statut :

start_response('202 ACCEPTED', [('Content-Type', 'text/html')])
return [bytes(resultString, "utf-8")]