问题标签 [yaws]
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.
url - 任何基于 erlang 的轻量级服务器支持像龙卷风这样的 url 解析,并且没有 ORM 功能?
我试用了 YAWS,并希望有人已经在其上编写了 URL 解析器/请求处理程序。我不想要任何接近 ChicagoBoss 的东西,其中也包括 ORM。
如果我的问题不够清楚,请告诉我。谢谢。
erlang - 解析偏航获取查询
这崩溃了
有了这个
但很明显,get 查询中存在“id”。为什么解析不了?
编辑:
并查询:*.yaws?id=F1D79543E9E6583B
编辑2:
抱歉误导,但我使用格式将值发送到浏览器,这是预期的错误。我对为什么格式中的第二个参数变为“未定义”感兴趣。
erlang - 更改 yaws 响应中的特定标头
我想在 yaws 中动态更改 http-header "Server:"值(在构建响应时)。我试过:-
它返回两个 “服务器:”标题而不是一个。但它适用于所有其他标题。
c++ - 如何在 yaws 中使用 c++ 模块
我没有将 c++ 与 apache 或其他 Web 服务器一起使用的经验。但现在想用它和 yaws 来从传递的数据生成 pdf。可能有人有这样做的经验。请任何链接。我还没有找到。最好不要使用可执行文件而是使用库并从 yaws 模块调用其函数。
erlang - 当程序不再需要时销毁数据结构——Erlang
Tuples
在Erlang中操作的某些函数会在操作后生成新元组的副本。在大多数情况下,程序不再对创建新元组的旧元组副本感兴趣。让我们看一个例子:
在上面的示例中,我从现有的元组创建了一个新元组。如果我随后这样做,我想销毁我自己的旧副本。我有一种感觉,编译器/运行时系统会自动执行此操作,但如果是这样的话,他们就不会为我们提供以下功能:erlang:garbage_collect/0
. 确信他们意识到我们可能需要隐式管理我们的内存,这可能会使程序免于崩溃并找到通过代码的内存密集部分的方式。
我知道在 中erlang shell
,有可能使用f/0, f/1
. 但是,似乎我不能在我的模块/功能中使用它。我也怀疑在该变量名前面加上下划线可能会加速运行时系统的破坏,即我的代码中的某些地方 write: _Tuple1
to destroy Tuple1
。总之,问题是,如果我随后要从现有的元组创建元组,并且在每一步我想立即(我自己)销毁旧副本,我该怎么做? * 注意 *我知道效率指南禁止这样做,但是,如果我别无选择......
各位大神帮忙看看有什么解决办法吗?谢谢
http - 如何从此 URL 获取值?并执行一个带有值的erlang模块以向客户端回复结果?
http://www.myserver.com/exile?Key1=Value1&Key2=Value2
当我向服务器收到这种格式的请求时,我该如何处理这个请求?我需要做什么:需要获取所有值并运行 Erlang 模块,并将结果发送给客户端。流放是 CGI 吗?如果是,它为什么没有 .cgi 扩展名?
附加数据:我在我的服务器(运行 linux 服务器的桌面)上设置了一个 Yaws。yaws.conf 文件已配置。
windows - 在 Windows 上启动 Yaws 时出现“init terminating in do_boot”错误消息
我想用 Erlang 开发一个 Web 应用程序,所以我在 Windows 7 上安装了 Yaws 1.92。
但是当我尝试同时启动 Yaws 时yaws
,yaws -i
我收到以下错误消息:
有什么我想念的吗?我该如何解决这个问题?
在史蒂夫建议的帮助下,我意识到我的 Erlang 运行时太旧了。我从 R14B 升级到 R15B。现在 Yaws 启动了,但它仍然在启动时打印一些错误:
关于为什么我得到这么多错误的任何建议?以及如何解决它们?
erlang - 如何使用 Yaws 在 appmod 中处理 WebSocket 消息?
我创建了一个简单的appmod,它发送回与接收到的相同的消息。但是我在命令提示符下收到一条错误消息,并且 WebSocket 连接已关闭。
如果我发送带有3 个字符的消息,我会收到以下错误消息:
我究竟做错了什么?手柄使用text
,如果我使用它也不起作用binary
。
这是我的 HTML+JavaScript 客户端:
我从客户端ws.yaws
调用的连接看起来像这样:
我的回调appmod mywebsocket.erl
如下所示:
在yaws.conf
我这样配置服务器:
我使用Yaws 1.92和Chrome 16。
erlang - 如何在 Yaws 中处理来自客户端的 WebSocket 关闭?
我已经实现了一个简单的appmod来处理 WebSocket 并回显消息。但是我该如何处理ws.close();
来自 JavaScript 客户端的请求呢?我已经尝试过使用下面的代码,但handle_message({close, Reason})
从未在 JavaScript 客户端上调用并且ws.onclose = function(evt) {}
从未执行过。
当我使用与 node.js websocket 交互的相同 JavaScript 客户端代码时,客户端会onclose
在ws.close();
.
这是我的简单appmod的代码:
internet-explorer - 如何使用 Yaws 流式传输内容?
我读到了Yaws:流数据到客户端。我创建了一个如下所示的简单示例,但它不起作用。我得到一个错误,这个过程正在死去。
这是我的 yaws 文件:
我也尝试过,yaws_api:stream_chunk_deliver/2
但我得到了同样的错误。这是我在命令提示符下收到的错误消息:
最后一个块似乎没有发送给客户端:
这是我使用的 JavaScript 客户端代码(仅适用于 IE8 和 IE9),使用XDomainRequest:
在 JavaScript 客户端上,该xdr.onerror = function()
方法被调用。客户端不应在此示例中显示任何数据,因为它需要2k prelude,但应该按照我的理解发送。
更新
在修复了 Steve Vinoski 指出的 Erlang 问题并删除\r\n
了我的数据后,Yaws 服务器发送了正确的数据。但我仍然xdr.onerror = function()
在 JavaScript 客户端上遇到错误。似乎我需要向响应中添加另一个标头,Access-Control-Allow-Origin: *
如XDomainRequest Object中所述:
该文档将通过发送一个带有原始值的 Origin 标头从域的服务器请求数据。只有当服务器响应Access-Control-Allow-Origin标头*或请求文档的确切 URL 时,它才会完成连接。此行为是万维网联盟 (W3C) 的 Web 应用程序工作组关于 XDomainRequest 对象与之集成的客户端跨域通信的草案框架的一部分。
如何将此标头添加到 HTTP 响应?看起来我只能在返回值中设置 MIME 类型:{streamcontent, MimeType, FirstChunk}
?