问题标签 [mochiweb]
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.
ssl - 使用 SSL 运行 CouchDB 停止工作
我有一个在 CouchDB 实例上运行的 Couchapp。我已按照 Wiki http://wiki.apache.org/couchdb/How_to_enable_SSL上的说明使用签名证书 Entrust 启用 SSL。我可以使用 SSL 访问我的应用程序,但是偶尔会出现错误。
有时我的浏览器会显示错误消息“SSL 收到了意外的握手记录。
(错误代码:ssl_error_rx_unexpected_handshake)”。
此外,我的应用程序订阅了 _changes API 以使所有客户端保持最新状态。这在我打开应用程序的前几分钟非常有效,但大约 3-5 分钟后它停止工作。此后客户端尝试进行的任何更改都会发布到 CouchDB,但客户端不再接收 _changes,因此除非我重新加载页面,否则不会看到该点之后的任何新数据。我已经寻找答案,但没有找到任何有帮助的东西。
我也没有在 couch.log 文件中看到任何错误。任何建议或想法将不胜感激。
service - 将 Erlang Web 服务器用于 Web 应用程序的优势
注意:这个问题很大程度上受到我构建的 Web 应用程序的主要要求的影响:高可用性和容错性。所有其他要求(如可扩展性和用户数量)在这里都不是问题。
我从这个社区的一位成员那里得到并建议使用 Erlang Web 服务器作为我的 Web 应用程序的后端。
建议是我可以使用 Mochiweb 作为后端,使用 Django/Ruby on Rails 作为前端,使用 JSON 和面向服务的模型。
我能理解的这种方法的唯一明显优势是前端部分的开发“照常”——常规的 MVC 东西、Ruby on Rails 或任何其他人选择的通用框架。
但是其他优势呢?它们真的存在吗?
当然,Erlang/OTP 为所讨论的系统增加了容错能力,但是添加 Web 前端层不会将这个容错级别降低到低得多的水平吗?
难道我们不是通过将 Ruby on Rails 与 Mochiweb 耦合来引入“单点故障”吗?当然,Mochiweb 可以处理故障,但是如果前端出现问题怎么办?
json - 带有 cURL 的简单 JSON 请求到 Mochiweb
我有一个非常简单的“hello world”Mochiweb 服务器(我刚刚开始介绍它),它接受一个 JSON 请求并将其发回:
问题是,当我尝试使用 cURL 向它发出请求时,它失败了:
Mochiweb 日志很难阅读,但据我了解,错误发生在这一行:
我io:format
在代码中放了几个 s ,发现Data
和Json
变量都是[]
在我使用 cURL 发出请求之后。
另一方面,当我用 cURL 做一个非常简单的请求时:
Data 和 Json 都是[{"{\"action\":\"dummy\"}",[]}]
,但在这种情况下,该行将Struct = mochijson2:decode(Json)
失败。
由于某些奇怪的原因,如果标头具有“application/json”值,Mochiweb 不会在 POST 请求中看到 JSON 数据。
所以,问题是:如何使用 JSON 数据向 Mochiweb 服务器发出正确的 POST 请求?
编辑:Json
变量有undefined
值。
git - Git 子模块和钢筋
我的应用程序使用 Mochiweb。据我了解,rebar
当我运行时从 Github 获取最新版本make
,因为有一行rebar.config
:
我的应用程序有一个 VCS,它是 git。所以,基本上我在另一个里面有一个 git 存储库:
我知道在另一个存储库中添加一个 git 存储库不是一个好主意(git add .
)。应该使用 Git 子模块功能。
因此,我将该deps/mochiweb
目录作为子模块添加到主 git 存储库中。
问题是,当另一个开发人员克隆他必须首先克隆的主存储库init
和update
子模块时deps/mochiweb
(否则它将是空的)。
如果开发人员make
在克隆主存储库后立即运行,则 Makefile 会显示以下内容:
我的问题是:将另一个应用程序添加到 Erlang 应用程序的部门以允许其他开发人员在不使用 git 子模块的情况下轻松更新的正确方法是什么?
makefile - Mochiweb:包含和编译其他库
我的应用程序使用 Mochiweb。
我注意到 Mochiweb 文件驻留在myapp/deps/mochiweb
目录中,rebar
并在我在目录中运行 make 时编译它们myapp
。
我想添加ibrowse
一些测试来向我的应用程序发出 http 请求。所以我ibrowse
从github克隆到myapp/deps/ibrowse
目录。
但似乎 Erlang 不知道从哪里获取.beam
文件ibrowse
,因此我使用该ibrowse
模块的所有测试都失败了:
如何让基于 Mochiweb 的应用程序使用其他 Erlang/OTP 外部库?
我应该为此编辑 rebar.config 或 Makefile 吗?或者我应该编辑一个 _app.src 文件?
编辑:也许我应该编辑 myapp_sup.erl 文件中的目录列表?( myapp_deps:local_path(["priv", "www"]
)
PS 我的应用程序如何知道所有 mochiweb.beam 文件所在的位置?(例如,泛型myapp_web.erl
使用了对mochiweb_http
模块的调用,但目录中没有mochiweb_http.beam
)myapp/ebin
。
web - Mochiweb 自定义配置
我试图在谷歌和这个网站上搜索答案,但似乎我找不到任何地方,所以我决定问。
我打算使用 mochiweb 作为我的网络服务器,我研究了几天。我的问题很简单:
我可以在哪里放置或添加自定义配置?(例如数据库连接设置),所以 mochiweb 可以加载并处理它吗?
谢谢溴
erlang - Erlang 路由器出错
我尝试像那里一样使用 Mochiweb 制作彗星服务器。
如果我从 erlang shell 做,没关系。
但是如果尝试从命令行使用 mochiweb 启动第一个节点:
第二个带路由器:
如果我从浏览器连接到 mochiweb 我有这个错误
我认为问题出在 router.erl 的这个字符串中:
因为 -eval ( net_adm:ping(n1@localhost) ) 的第一部分启动时没有错误,我可以在节点()中看到n1@localhost 。. 但是 -eval 的第二部分(router:start_link())不适用于?MODULE。
我该如何解决这个问题?
erlang - erlang error_logger 处理程序意外消失
我有一个基于 mochiweb 的应用程序。我在启动应用程序时指定了 -kernel error_logger '{file, "mylog.log"}',运行一段时间后,error_logger 不会输出任何内容。当应用程序启动时,
而过了一段时间,
缺少 error_logger_file_h。为什么?
erlang - Snappy 压缩是否适合 Mochiweb、HTTP 压缩?
我正在使用 Snappy ( https://github.com/fdmanana/snappy-erlang-nif ) 作为 zlib 替代 Mochiweb 应用程序上的 HTTP 压缩。
虽然 Snappy 一般适用于我,并且 zlib 在发送响应之前可以很好地压缩响应,但使用 Snappy 作为 zlib 替代品会导致客户端浏览器混淆响应。
- Snappy 是否编码为 utf-8 字符集?
- 一般来说,客户端浏览器是否知道如何解压缩 Snappy 压缩文档?
- 我在做一些明显的事情吗?
这有效:
这不