![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cowboy源码阅读
子厚_
我想改变世界
展开
-
【Cowboy源码阅读-3】收到 http get 请求的处理流程
直接来看cowboy_http:loop/1, State 的主要参数: parent :: 不重要 ref :: http socket :: 不重要 transport :: ranch_tcp opts = #{ connection_type => supervisor, env => #{dispatch => [{'_',[],[{[],[],toppage_h,[]}]}]} }, peer =原创 2020-10-24 22:09:02 · 251 阅读 · 0 评论 -
【Cowboy源码阅读-2】Http服务器的启动流程
通过 examples中的 echo_get_app.erl 来顺着捋下来整体流程 echo_get_app.erl中的start函数,Dispatch是一个路由逻辑,暂时先不细究,先看 cowboy:start_clear/3,调用cowboy:start_clear/3会开启一个 listener 的监督者 cowboy:start_clear/3会先对参数进行格式化处理(List转Map等),其中比较有趣的就是ranch:normalize_opts/1中会处理 ack_timeout 的时间,读到这原创 2020-10-21 22:04:07 · 388 阅读 · 0 评论 -
【Cowboy源码阅读-1】将Cowboy及其依赖下载到本地,方便调试
先配置好Erlang环境和rebar3,Erlang的版本可以稍微高一点,很多公司用的Erlang版本都非常的旧,太旧的版本可能无法编译cowboy,我用的是 10.5 版本。 windows系统配置rebar3可以参考我的另一篇博客:https://blog.csdn.net/yxw908186797/article/details/103192539 直接在rebar.config的deps中配置cowboy的话,代码都是从git上下载的,我们比较难对源码进行自己的修改、调试。 常规配置如下: {dep原创 2020-10-21 22:00:34 · 318 阅读 · 0 评论