问题标签 [haskell-snap-framework]
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.
haskell-snap-framework - 快照配置文件
如何在 Snap 中正确使用配置文件?
目前,我对数据库主机和数据库名称进行了硬编码。如果我想把它放在 projectroot/config 目录中的一个文件中,我如何使它在处理程序或应用程序初始化函数中可用?
在 snaplets 教程中简要提到了可以使用配置器库,但没有说明如何实际使用它。
谢谢。
haskell-snap-framework - Snap 中的方法“PUT”
如果我在 Web 表单中指定 method="PUT" 并在路由中通过此方法过滤
表单永远不会到达处理程序。处理程序甚至从未触发。一旦我在路由和表单中将方法更改为 POST,那么一切都会按预期工作。
知道为什么吗?
谢谢。
haskell-snap-framework - Snap 二进制文件上传
我需要了解使用 Snap 上传文件的过程。
鉴于这种形式:
我是使用 getPostParams 等相同的函数来处理二进制文件还是使用 Snap.Util.FileUploads 中的函数?
我需要在数据库中上传和保存像 PDF 这样的二进制文件。数据库驱动程序将接受 ByteString 来存储二进制文件。
我经历了 Snap.Util.FileUploads 但它看起来不像是我需要的。所以我不确定如何在处理程序中处理这个?
谢谢。
编辑
在 IRC 的帮助下,我设法提出了以下结构。我认为它应该接近正确?好吧,它编译并将文件转储到 mongodb。我也可以读回来。虽然我不太了解枚举器和 Iteratee 的东西......
haskell - 内存非常有限的 Haskell Snap 编译
我正在尝试使用非常有限的内存(220mb)在我的 ubuntu vps 上为 Haskell 编译 Snap 框架,并且在使用“cabal install snap”时我不断收到有关内存不足的错误。我试图增加交换大小,但因为它是一个 OpenVZ 盒子,所以基本上不存在交换。
我的问题是,有什么方法可以使用外部机器编译所有文件,然后让它们传输到 VPS 上的正确位置,就好像我在本地编译它一样?
或者,如果其他人对我如何能够使其工作有任何其他建议,请告诉我。
haskell-snap-framework - 如何让 addRoutes 在 snaplet 中工作(更改 api,抢劫 0.12)?
在
如何制作nicEditor snaplet?(几个问题)
我按照提示addRoutes
输入了 snaplet 初始化程序,它起作用了。将 snap 和 heist (0.12) 模块更新为更新后,我在addRoutes
. 如果addRoutes
从nicsnapInit
(在 snaplet 示例中)移除并放入routes
Application.hs 中的 -function 中,则该路由与 App 中的其他路由同时初始化并找到路由。
但是,如果addRoutes
是 in nicsnapInit
,服务器只会说
这看起来像没有添加路线。
目前如何addRoutes
在 snaplet 初始化程序中使用(heist 0.12)?
几乎马上就知道了Snap 框架:自定义 snaplet 处理程序不会渲染模板几乎有类似的问题。以前addTemplates
用过。addRoutes
经过类似的更改后,这似乎可行,也就是说,使用线
其中 h 是参数
以及对应用程序初始化程序的相应更改。
这会将 url 更改为“niced/netext”,即首先是 snaplet 名称,然后是 snaplet 中定义的路由。
是否可以仅添加“/ nettext”部分?
haskell - Haskell Snap 框架 - 类型不匹配 ByteString / 也许 ByteString
我对 Haskell 和 Snap 还很陌生,我正在为一个使用 snap 的小型网络论坛开发自己的项目。我遇到的问题是理解冲突以及如何解决以下代码。
给我一个类型不匹配错误,如下所示:
任何消除混淆的建议将不胜感激,我一直在寻找一些方法来解开可能并检索字节串,但没有成功。
非常感谢!
haskell - Haskell Snap 框架 - 带有 Heist 的动态超链接
我正在尝试使用 Heist 模板系统创建动态链接。问题是链接显示为文本,而不是被解释为 html。有没有一种特定的方法可以用 Heist 创建像这样的动态列表?
构造链接的函数:
该标签在网页上显示为“http://localhost:8000/thread_home?cateid=1'>1”文本。来源显示如下:
我认为我需要让它打印实际的 < 和 > 但我不确定如何实现这一点。由于我目前正在运行 runChildrenWithText 来填充这个 Heist 模板,更改为只是 runChildrenWith 需要拼接而不是文本,所以我希望有一些方法可以在没有 '<' 和 '>' 的情况下 runChildrenWithText 被转换为 '<'和'>'。任何帮助表示赞赏!
编辑
我正在尝试使用以下方法手动创建链接:
但是我遇到两个错误:
和
我目前并不真正理解这些错误,感谢您提供任何帮助。
返回链接和普通文本的工作功能:
haskell - cabal 安装二进制文件的路径
我正在按照说明为 Haskell 安装 snap 框架:
执行时
我获得-bash: snap: command not found
了(在 Mac OSX 上),并且在安装 snap 后确实打开了一个新的终端窗口。二进制文件安装在
snap init
当以这条路径开头时,snap 也可以正常工作。但是,这张票(适用于 windows cabal 安装程序)
建议这不应该发生。当 cabal 安装一个新包时,它应该将正确的目录添加到路径环境中。运行set | grep "snap"
或set | grep "cabal"
不返回任何内容。关于如何(自动)将正确的目录添加到 PATH 环境以供将来安装的任何想法?
haskell - 高性能应用服务器应该选择 Yesod 的 Warp 和 snap-server 中的哪一个?
我在 Yesod 的主页上看到了基准测试,但它们主要是针对静态文件的。Snap 网站上的基准已经过时。
我正在尝试将 Haskell 模块公开为服务。服务器的逻辑是接收 JSON 格式的函数名称和参数,调用 Haskell 函数并再次将输出作为 JSON 传递。引用透明性保证了线程安全以及记忆和缓存函数的能力。
如果我要支持 2k - 5k 的并发连接,我将如何实现它?这种方法的可扩展性如何?
haskell - Heist-0.13 的默认 AttrSplices 是什么?
我正在使用 Heist 做一个项目,由于它最近升级到 0.13 版本,我尝试了一下,发现原来的 HeistConfig 改变了很多。
所以现在我不能再使用 [] 作为默认 Splices,因为有 defaultInterpretedSplices 和 defaultLoadTimeSplices,我发现 defaultAttrSplices 只是错过了,那么我应该如何定义它呢?