Anoche me encontré con la necesidad de actualizar el código de una aplicación para cambiar de una llamada http sincrónica a una asincrónica. Este no es un problema particularmente difícil, pero puede resultar complicado corregirlo.
Por lo tanto, lo que necesitaba era una forma de probar estas llamadas http, y la máquina que estaba usando no tenía ningún servidor http ejecutándose para usarlo como destino.
No hay problema: tiene Python, y eso es todo lo que necesitas.
Este patrón se ha estado formando para mí. Para tareas sencillas, suele ser más fácil escribir un pequeño script de utilidad en lugar de instalar un software completo para realizar el trabajo.
Si necesita un servidor real, hágalo (pero aun así, sugeriría Docker si es posible). Pero si solo necesita un punto final rápido para realizar pruebas o resolver un caso de uso único, entonces Python probablemente sea su amigo.
Digo Python específicamente porque es bastante ubicuo con una biblioteca y un ecosistema estándar ricos.
La idea con este servidor simple era ayudarme a probar las llamadas del cliente asíncrono, así que quería que esperara 5 segundos y luego respondiera. Solo quería que respondiera a cualquier llamada estándar con un 200 después de 5 segundos.
from flask import Flask, request import time app = Flask(__name__) @app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) @app.route('/', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) def catch_all(path): print(f"Path: {path}") print(f"Headers: {dict(request.headers)}") print(f"Params: {request.args}") print(f"Data: {request.data}") # Wait for 5 seconds time.sleep(5) return "yessir" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3