问题标签 [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.

0 投票
3 回答
1574 浏览

json - 如何使用 mochijson 对对象数组进行编码?

我有两个对象,我想将它们捆绑并发送到一个数组中,用 mochijson 编码为 JSON。他们是:

然而,

如何为 mochijson 构建数据?我知道这篇文章,但遗憾的是,它没有涵盖对象数组。

0 投票
1 回答
336 浏览

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 文件中看到任何错误。任何建议或想法将不胜感激。

0 投票
3 回答
1007 浏览

service - 将 Erlang Web 服务器用于 Web 应用程序的优势

注意:这个问题很大程度上受到我构建的 Web 应用程序的主要要求的影响:高可用性和容错性。所有其他要求(如可扩展性和用户数量)在这里都不是问题。

我从这个社区的一位成员那里得到并建议使用 Erlang Web 服务器作为我的 Web 应用程序的后端。

建议是我可以使用 Mochiweb 作为后端,使用 Django/Ruby on Rails 作为前端,使用 JSON 和面向服务的模型。

我能理解的这种方法的唯一明显优势是前端部分的开发“照常”——常规的 MVC 东西、Ru​​by on Rails 或任何其他人选择的通用框架。

但是其他优势呢?它们真的存在吗?

当然,Erlang/OTP 为所讨论的系统增加了容错能力,但是添加 Web 前端层不会将这个容错级别降低到低得多的水平吗?

难道我们不是通过将 Ruby on Rails 与 Mochiweb 耦合来引入“单点故障”吗?当然,Mochiweb 可以处理故障,但是如果前端出现问题怎么办?

0 投票
2 回答
2849 浏览

json - 带有 cURL 的简单 JSON 请求到 Mochiweb

我有一个非常简单的“hello world”Mochiweb 服务器(我刚刚开始介绍它),它接受一个 JSON 请求并将其发回:

问题是,当我尝试使用 cURL 向它发出请求时,它失败了:

Mochiweb 日志很难阅读,但据我了解,错误发生在这一行:

io:format在代码中放了几个 s ,发现DataJson变量都是[]在我使用 cURL 发出请求之后。

另一方面,当我用 cURL 做一个非常简单的请求时:

Data 和 Json 都是[{"{\"action\":\"dummy\"}",[]}],但在这种情况下,该行将Struct = mochijson2:decode(Json)失败。

由于某些奇怪的原因,如果标头具有“application/json”值,Mochiweb 不会在 POST 请求中看到 JSON 数据。

所以,问题是:如何使用 JSON 数据向 Mochiweb 服务器发出正确的 POST 请求?

编辑:Json变量有undefined值。

0 投票
3 回答
2521 浏览

git - Git 子模块和钢筋

我的应用程序使用 Mochiweb。据我了解,rebar当我运行时从 Github 获取最新版本make,因为有一行rebar.config

我的应用程序有一个 VCS,它是 git。所以,基本上我在另一个里面有一个 git 存储库:

我知道在另一个存储库中添加一个 git 存储库不是一个好主意(git add .)。应该使用 Git 子模块功能。

因此,我将该deps/mochiweb目录作为子模块添加到主 git 存储库中。

问题是,当另一个开发人员克隆他必须首先克隆的主存储库initupdate子模块时deps/mochiweb(否则它将是空的)。

如果开发人员make在克隆主存储库后立即运行,则 Makefile 会显示以下内容:

我的问题是:将另一个应用程序添加到 Erlang 应用程序的部门以允许其他开发人员在不使用 git 子模块的情况下轻松更新的正确方法是什么?

0 投票
2 回答
474 浏览

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.beammyapp/ebin

0 投票
1 回答
643 浏览

web - Mochiweb 自定义配置

我试图在谷歌和这个网站上搜索答案,但似乎我找不到任何地方,所以我决定问。

我打算使用 mochiweb 作为我的网络服务器,我研究了几天。我的问题很简单:

我可以在哪里放置或添加自定义配置?(例如数据库连接设置),所以 mochiweb 可以加载并处理它吗?

谢谢溴

0 投票
1 回答
266 浏览

erlang - Erlang 路由器出错

我尝试像那里一样使用 Mochiweb 制作彗星服务器。

如果我从 erlang shell 做,没关系。

但是如果尝试从命令行使用 mochiweb 启动第一个节点:

第二个带路由器:

如果我从浏览器连接到 mochiweb 我有这个错误

我认为问题出在 router.erl 的这个字符串中:

因为 -eval ( net_adm:ping(n1@localhost) ) 的第一部分启动时没有错误,我可以在节点()中看到n1@localhost 。. 但是 -eval 的第二部分(router:start_link())不适用于?MODULE

我该如何解决这个问题?

0 投票
1 回答
214 浏览

erlang - erlang error_logger 处理程序意外消失

我有一个基于 mochiweb 的应用程序。我在启动应用程序时指定了 -kernel error_logger '{file, "mylog.log"}',运行一段时间后,error_logger 不会输出任何内容。当应用程序启动时,

而过了一段时间,

缺少 error_logger_file_h。为什么?

0 投票
1 回答
838 浏览

erlang - Snappy 压缩是否适合 Mochiweb、HTTP 压缩?

我正在使用 Snappy ( https://github.com/fdmanana/snappy-erlang-nif ) 作为 zlib 替代 Mochiweb 应用程序上的 HTTP 压缩。

虽然 Snappy 一般适用于我,并且 zlib 在发送响应之前可以很好地压缩响应,但使用 Snappy 作为 zlib 替代品会导致客户端浏览器混淆响应。

  1. Snappy 是否编码为 utf-8 字符集?
  2. 一般来说,客户端浏览器是否知道如何解压缩 Snappy 压缩文档?
  3. 我在做一些明显的事情吗?

这有效:

这不