«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Простой тестовый HTTP-сервер от Flask

Простой тестовый HTTP-сервер от Flask

Опубликовано 25 августа 2024 г.
Просматривать:678

A Simple Test HTTP server from Flask

Вчера вечером мне пришлось обновить код приложения, чтобы переключиться с синхронного http-вызова на асинхронный. Это не особенно сложная задача, но решить ее может быть непросто.

Поэтому мне нужен был способ протестировать эти http-вызовы, а на машине, которую я использовал, еще не было запущенных http-серверов, которые можно было бы использовать в качестве цели.

Нет проблем: есть Python — и это все, что вам нужно.

Не устанавливайте — просто создайте

Этот шаблон сформировался для меня. Для простых задач часто проще написать небольшой служебный скрипт вместо установки полноценного программного обеспечения для выполнения работы.

Если вам нужен настоящий сервер, обязательно используйте его (но даже в этом случае я бы предложил Docker, если это возможно). Но если вам просто нужна быстрая конечная точка для тестирования или решения одного варианта использования, то Python, вероятно, станет вашим другом.

Я говорю о Python именно потому, что он довольно распространен и имеет богатую стандартную библиотеку и экосистему.

Код сервера

Идея этого простого сервера заключалась в том, чтобы помочь мне протестировать асинхронные вызовы клиента, поэтому я хотел, чтобы он подождал 5 секунд, а затем ответил. Я просто хотел, чтобы он отвечал на любой стандартный вызов цифрой 200 через 5 секунд.

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