「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Flask の単純なテスト HTTP サーバー

Flask の単純なテスト HTTP サーバー

2024 年 8 月 25 日に公開
ブラウズ:425

A Simple Test HTTP server from Flask

昨夜、同期 http 呼び出しから非同期呼び出しに切り替えるには、アプリのコードを更新する必要があることに気づきました。これは特に難しい問題ではありませんが、正解するのが難しい場合があります。

したがって、私に必要だったのは、これらの http 呼び出しをテストする方法でしたが、私が使用していたマシンには、ターゲットとして使用する http サーバーがまだ実行されていませんでした。

問題ありません。Python が含まれています。必要なのはそれだけです。

インストールしないでください - 作成するだけです

このパターンが私に形成されてきました。単純なタスクの場合は、本格的なソフトウェアをインストールしてジョブを実行するよりも、ちょっとしたユーティリティ スクリプトを作成する方が簡単なことがよくあります。

実際のサーバーが必要な場合は、ぜひそれを使用してください (ただし、その場合でも、可能であれば Docker をお勧めします)。ただし、テストするための、または 1 つのユースケースを解決するための簡単なエンドポイントが必要なだけの場合は、おそらく Python が最適です。

特に Python と言っているのは、Python は豊富な標準ライブラリとエコシステムを備えており、かなり普及しているからです。

サーバーコード

このシンプルなサーバーのアイデアは、非同期クライアント呼び出しのテストを支援することであり、5 秒待ってから応答するようにしました。標準的な呼び出しに対して 5 秒後に 200 で応答するようにしたいだけでした。

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)

リリースステートメント この記事は次の場所に転載されています: https://dev.to/byronsalty/a-simple-test-http-server-from-flask-3lf9?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3