问题标签 [cowboy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
erlang - 记录对网页的访问的最佳方式
我的一个网站是使用 Nitrogen 和 Cowboy 服务器。我想记录对网页的每次访问,就像 Apache 使用 access.log 一样。最好的方法是什么?
http - 找不到命令“生成”,使用钢筋编译
我正在关注这个博客: http: //maplekeycompany.blogspot.se/2012/03/very-basic-cowboy-setup.html
简而言之,我正在尝试使用 rebar 编译一个应用程序,就像博客中的人一样。一切顺利,直到我想运行命令:
然后给我以下错误和警告,
我发现一个类似的帖子有同样的错误:
我认为问题出在 reltool.config 但不知道如何继续,我将路径更改为以下内容:{lib_dirs, ["home/user/simple_server/rebar"]}
路径有问题吗?rebar 如何访问所有 src 文件以及编译和构建应用程序所需的 rebar 文件?
erlang - 如何使用偏航作为带钢筋的 OTP 版本的一部分?
我密切关注有关依赖项管理和发布处理的 rebar 文档,并尝试创建一个类似于我之前的问题之一的已接受答案中描述的发布。
但是,我不能将偏航作为 OTP 应用程序包含在钢筋生成的 OTP 版本中。
这是我所做的:
- 根据官方钢筋文档创建一个版本(完成,可以使用 /rel/myapp/bin/myapp start 运行一个简单的 gen_server)
- 在项目目录下的rebar.config文件中指定yaws依赖
- 运行
rebar get-deps
(这会拉偏航和 ibrowse) - 将此添加到
reltool.config
:{app, yaws, [{incl_cond, include}]}
- 将 yaws 添加到应用程序列表中
myapp.app.src
rebar compile generate
:
...
==> Leaving directory '/myapp/deps/yaws/rel'
==> yaws (compile)
yaws.erl:13: can't find include file "yaws_appdeps.hrl"
yaws.erl:220: undefined macro 'YAWS_APPDEPS'
yaws.erl:174: function start_app_deps/0 undefined
yaws.erl:194: function start_app_deps/0 undefined
ERROR: Command [compile] failed!
笔记:
官方的 yaws文档似乎对这个问题没有很好的解释。
如果我将 yaws 更改为牛仔,我不会收到这样的错误。
更新
这是我的目录结构:
.
├── apps
│ └── myapp
├── deps
│ ├── ibrowse
│ └── yaws
└── rel
└── files
erlang - 使用 Cowboy 开发时如何进行热代码重载?
我正在使用 Cowboy 和 erlang.mk 进行开发,目前我的流程是: 1. 在 vi 中更改代码,保存,运行 make 2. 关闭 Cowboy,再次启动 Cowboy(我在控制台模式下运行 Cowboy 以进行跟踪/调试)
有没有办法让 Cowboy 以尽可能少的延迟自动重新加载和重启?我知道我可以将 Cowboy stop 和 start 添加到我的 makefile 但也许有更好/响应更快的方式?
我看到有来自 rustyio 的同步包,但是必须直接将它挂接到我的应用程序中似乎过于复杂。
yaws - 氮气 wf.hrl 文件被删除并出现警告
我正在使用一个 slim_version 的牛仔,我也尝试过在 slim_yaws 上使用氮气。令我困惑的是VM突然删除了wf.hrl文件。我不明白这是什么原因造成的!这是控制台中显示的内容。
我很困惑,因为使用 wf.hrl 的模块在删除后无法编译。我在slim_cowboy和slim_yaws上体验过。很突然!
erlang - Cowboy中的cowboy_http_handler怎么了?
有人告诉我最新版本的 Cowboy 服务器中的 cowboy_http_handler 在哪里?
websocket - Cowboy 中的 http 处理程序和 websocket 处理程序之间的通信
我想在 Cowboy 中创建一个 websocket 应用程序,从另一个 Cowboy 处理程序获取其数据。假设我想结合牛仔的 Echo_get 示例:https ://github.com/ninenines/cowboy/tree/master/examples/echo_get/src
以 websocket 为例
https://github.com/ninenines/cowboy/tree/master/examples/websocket/src
以这种方式,对 Echo 的 GET 请求应通过 websocket 处理程序向该示例中的 html 页面发送“推送”。
最简单的方法是什么?我可以以某种简单的方式使用“管道”运算符吗?我是否需要创建和中间 gen_something 在它们之间传递消息?我将不胜感激示例代码的答案,该示例代码显示了处理程序的胶水代码 - 我真的不知道从哪里开始将两个处理程序连接在一起。
erlang - Erlang 上的 Cowboy 在关机时崩溃
在关闭与我的牛仔处理程序相关的 Erlang vm 时,我遇到了很多错误。我有一个 simple_one_for_one 主管,它运行 start_listeners() 函数,该函数运行 cowboy:start_http()。
一切都开始了,没有错误,正常处理请求。
如果我关闭 erlang VM,我会得到:
[错误] 主管 bitter_rpc_sup 有子 bitter_rpc_http_id 在未定义退出时以 bitter_rpc_sup:start_listeners() 开始,原因在上下文 shutdown_error 中被杀死
还有一堆与牛仔进程相关的其他错误被杀死并异常终止。牛仔不遵循 OTP 约定关闭吗?有没有办法让我拦截主管的关闭并手动关闭所有牛仔进程/牧场池?
我应该在哪里尝试解决这个错误?
erlang - 如何在处理程序中使用 erlang 中的 content_type_accepted 方法发布 Json 数据
这是json数据
我看到了 Method 和 Body,但试图捕获无法这样做的 json 数据。
erlang - 是否建议将牛仔添加到应用程序主管树中?
我有一个服务器,它把牛仔和牧场作为一个独立的应用程序启动——也就是说,它们有自己的主管,它们不在我的应用程序的主管树中。
将牛仔包含到应用程序的主管树中是最佳实践吗?如果是这样,你怎么做?