Ontem à noite, precisei atualizar algum código do aplicativo para mudar de uma chamada http síncrona para uma assíncrona. Este não é um problema particularmente difícil, mas pode ser difícil de corrigir.
O que eu precisava, portanto, era uma maneira de testar essas chamadas http, e a máquina que eu estava usando ainda não tinha nenhum servidor http em execução para usar como destino.
Não tem problema: ele tem Python - e isso é tudo que você precisa.
Esse padrão vem se formando para mim. Para tarefas simples, muitas vezes é mais fácil escrever um pequeno script utilitário em vez de instalar algum software completo para fazer um trabalho.
Se você precisa de um servidor real, vá em frente (mas mesmo assim eu sugeriria o Docker, se possível). Mas se você só precisa de um endpoint rápido para testar ou resolver um único caso de uso, então Python é provavelmente seu amigo.
Estou dizendo Python especificamente porque é bastante onipresente, com uma rica biblioteca e ecossistema padrão.
A ideia com este servidor simples era me ajudar a testar as chamadas assíncronas do cliente, então eu queria que ele esperasse 5 segundos e depois respondesse. Eu só queria que ele respondesse a qualquer chamada padrão com 200 após 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)
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3