Flask 基于wsgi源码启动流程

1. 点击 call 进入到源码

2. 找到 call 方法 return 执行的是 wsgi方法

3. 点击 wsgi 方法 进到 wsgi return 执行的是 response 方法

4. 点击response 方法 进到 full_dispatch_request

5. full_dispatch_request 执行finalize_request 方法

6. finalize_request 执行response 方法

7. 进到 make_response 方法 执行 rv

8. rv 执行 Response Response 在wrappers.py 中 继承 ResponseBase

9. call 中的wsgi方法 就等同于

werkzeug.wrappers 的 Response

10. run 方法 执行的是 run_simple

11. 因此可以得出

python 复制代码
from werkzeug.serving import run_simple
from werkzeug.wrappers import Response


def app(environ, start_response):
    print("请求执行")
    response = Response("你好")
    return response(environ, start_response)


if __name__ == '__main__':
    run_simple('127.0.0.1', 5000, app)

12. 点击链接进入浏览器

13. 浏览器显示

相关推荐
知识鱼丸15 分钟前
【数据结构】一图介绍python数据结构
数据结构·python
风华浪浪29 分钟前
python之poetry 安装、创建项目、修改源、创建虚拟环境等操作
python
人才程序员33 分钟前
详解Qt QStorageInfo 存储信息类
c语言·开发语言·c++·后端·qt·界面
__lost1 小时前
Python 使用 OpenCV 将 MP4 转换为 GIF图
开发语言·python·opencv
霍夫曼vx_helloworld73521 小时前
(二)手势识别——动作模型训练【代码+数据集+python环境(免安装)+GUI系统】
开发语言·python
小奏技术1 小时前
聊聊HTTP2中的GOAWAY帧以及RocketMQ对GOAWAY的实现
后端·网络协议
神仙别闹1 小时前
基于Python实现三种不同类型BP网络及分析
开发语言·python
Code_Artist1 小时前
细说Linux操作系统的网络I/O模型
linux·后端·网络协议
怀旧6662 小时前
Java List 集合
java·数据结构·后端·list·个人开发
Peter_chq2 小时前
【计算机网络】多路转接之poll
linux·c语言·开发语言·网络·c++·后端·poll