问题标签 [happstack]

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 投票
1 回答
388 浏览

haskell - Happstack.lite 教程无法使用“非法类型签名:`String'”进行编译

我一直在关注这个 Happstack.Lite 教程:http ://www.happstack.com/page/view-page-slug/9/happstack-lite-tutorial并取得了很大的成功,但我似乎无法通过这个编译错误:

有问题的代码:

上下文中的代码:(编译{-# LANGUAGE OverloadedStrings #-}指示对此问题没有影响,添加它是为了解决其他问题)

我已经成功地从这里执行了这个:

您的帮助将不胜感激!

0 投票
1 回答
60 浏览

haskell - Happstack 处理

我正在解析 happstack 中的表单,但我不知道在服务器上收集表单变量的更简洁的方法。有谁知道是否有任何技巧可以减少此处所需的代码量?

0 投票
2 回答
148 浏览

haskell - 如何在 Happstack 中携带非酸性值?

我读过 Happstack 速成课程。我的 Web 服务器几乎与透明地传递多个 AcidState 句柄部分中描述的完全相同

我的问题是,我有非酸性的值,但想在 Happstack 应用程序中访问。具体来说,来自push-notify-general library 的“PushManager” ,

我想要的是:

我无法完成这项工作,因为 1) PushManager 在内部使用了如此多的数据类型,并且通过调用 $(deriveSafeCopy ...) 来使底层数据类型 SafeCopy 兼容是不现实/不可靠的。2) PushManager 不仅包含简单的值,而且还包含与 SafeCopy 兼容的功能。

我尝试的另一件事是“Acid”数据声明不仅包含 AcidState,还包含非 AcidState 数据。通过查看runApp的定义,“Acid”只是用于Reading,所以我认为用State monad重写可能能够满足我的需要。——但事实证明,事情并没有那么简单。我的暂定代码是:

它编译,但每次请求网页时,页面显示相同的数字。再次查看我的代码,我觉得 runApp 中的 evalStateT 是错误的,因为它从不使用更新的状态值。

现在,我正在阅读 mapServerPartT 和 ServerPartT,但这太复杂了。感谢是否有人可以回答标题行:“如何在 Happstack 中携带非酸性价值?”

0 投票
1 回答
118 浏览

haskell - 后端服务当前时间(在 json 中)在 haskell

我想在 haskell 中编写一个提供当前时间的简单网络服务器。时间应以 json 格式返回。

这是我到目前为止所拥有的:

我知道unsafePerformIO应该避免这种情况,但我还找不到更好的解决方案。也许这就是问题所在?我对单子有一个非常基本的了解。

结果如下:

问题是当我刷新localhost:8000时间并没有改变。是否正在进行某种记忆?

0 投票
0 回答
119 浏览

haskell - Mac OS X 10.10 Yosemite 上的 Happstack 依赖失败

我正在尝试使用以下命令安装 Happstack:

阴谋集团安装happstack

规格:

  1. Mac OS X 10.10(优胜美地)
  2. GHC 7.8.3
  3. 阴谋集团 1.20.0.2

错误信息:

ld:找不到 -lHSstm-2.4.3-ghc7.8.3 的库

clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

无法安装threads-0.5.1.2

cabal:错误:某些软件包无法安装:

happstack-7.0.2 依赖于无法安装的threads-0.5.1.2。

happstack-server-7.3.9 依赖于无法安装的threads-0.5.1.2。

system-filepath-0.4.12 在构建阶段失败。例外是:

退出失败 1

threads-0.5.1.2 在构建阶段失败。例外是:

退出失败 1

0 投票
1 回答
368 浏览

haskell - 使用 Happstack 保护 websocket

有没有办法wss://在 Haskell 服务器端(最好使用 Happstack)中使用安全的 websockets()?

我试图在 Cabal 中搜索 websocket 服务器实现,我得到websockets了不同框架的多个包装器。在包内搜索websockets未显示与 TLS 相关的任何内容。

0 投票
1 回答
60 浏览

haskell - 类型名称以包名称和版本为前缀

我对 Haskell 很陌生,我正在尝试跟随Happstack Crash Course。我已经完成了一些示例,但是当我尝试happstack-heist 示例时,我得到了一个奇怪的编译错误。我正在编译的文件如下所示:

错误是:

似乎有些东西想要以包名称和版本号为前缀的类型,我不明白。happstack-server 和 happstack-heist 都安装了cabal install.

0 投票
2 回答
183 浏览

facebook - 如何使用 Haskell 将照片上传到 Facebook?

我正在使用 Happstack,并且正在尝试使用 Facebook Graph API 将照片上传到 Facebook。

我可以成功地向 Facebook 发布消息。我可以使用url,但是我正在尝试使用source参数来执行此操作。

我有一个 PNG 数据的 ByteString,但我似乎无法将它传递给 Facebook。

我正在使用fb Haskell 库

我为此创建的函数是:

我收到的错误是:

错误是 "StatusCodeException (Status {statusCode = 400, statusMessage = "Bad Request"}) [("Content-Type","text/html; charset=utf-8"),("Date","Thu, 29 2015 年 1 月 05:06:00 GMT"),("Connection","close"),("Content-Length","3121")] (CJ {expose = []})

我究竟做错了什么?Graph API 声明source参数应该是表单数据类型,但到目前为止,我尝试将其转换为这种类型并没有成功。

谢谢!

0 投票
1 回答
91 浏览

haskell - Happstack - 你好世界服务器

我是一个新手尝试使用haskell happstack-server。在这个hello world程序中,我有这些疑问:

1)服务器的默认配置,nullConf在哪里定义?至少它不存在$HOME/.cabal/Happstack/Server.hs

2)$函数参数中间的符号是什么意思?

3)有什么办法,我可以强制 cabal 下载源库而不是编译的 haskell 二进制文件?这将对我的源代码调试有很大帮助。

0 投票
1 回答
46 浏览

haskell - Happstack:空饼干

我正在尝试访问Happstack ServerrqCookies中 a 的属性Request,但是当请求标头中有 cookie 时,我继续得到一个空列表。

我也尝试过使用该readCookieValue功能,但这找不到任何cookie。

为什么会这样?

该服务器正在 Ubuntu 14.04 上运行。