问题标签 [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 回答
160 浏览

http - 是否可以匹配 Happstack 中的 PATCH 请求?

我想知道是否可以匹配 Happstack 中的 PATCH 请求,除了 Method 数据类型没有 PATCH 的构造函数:

但是,在某些情况下可能需要 PATCH 请求,例如在使用 Backbone.js 时它会很方便。很高兴知道,是否可以在不修改 Happstack 的情况下匹配与定义的方法不同的方法。另外我想知道 Happstack 不支持 PATCH 请求是否有特殊原因。

0 投票
2 回答
770 浏览

haskell - Yesod的长期投票

我可以在 Yesod 或任何其他具有类似数据库设施的 Haskell Web 框架中进行长轮询吗?

准确地说,我想延迟 HTTP 响应,直到发生有趣的事情。还应该有一个超时,在此之后,客户端将收到一个“什么都没发生”的响应,然后客户端将发出相同的请求。

为了让生活变得更加复杂,我想到的应用程序通过 HTTP/HTML5 和一个非常紧凑的 UDP 协议为 MIDP 客户端提供所有内容。来自任一协议的事件都可以释放任一协议中的响应。

TIA,阿德里安。

0 投票
1 回答
84 浏览

haskell - Happstack 为每个请求获取新的 StdGen?

我有一个简单的小 Happstack 应用程序,它显示了一个带有电子邮件字段和随机问题字段的表单,以帮助打击垃圾邮件。要获取我在函数中使用的随机数getStdGen并将main其传递给创建 html 的函数。问题是StdGen使用相同的,所以我的随机值不是随机的,除非我重新启动应用程序。

这是我的Main.hs样子:

StdGen下面是使用检索随机问题 id的函数:

解决这个问题的最优雅的方法是什么?

0 投票
1 回答
731 浏览

linux - 如何将 Happstack 应用程序部署到生产环境?

我似乎找不到关于这个主题的任何文档、任何博文或其他资源。

从我目前看到的情况来看,似乎有支持,FastCGI但该项目已经 4 年没有提交了。然后mod_proxy可能可以使用。也许您可以将 Happstack 应用程序作为一个守护进程运行,它自己处理所有请求。

我只是在这里猜测,很高兴看到有经验的人怎么说!

0 投票
1 回答
314 浏览

haskell - 学习 Happstack 和 Monad 变形金刚

所以我有一个项目,我认为它很容易学习,但又足够复杂,很有趣,我想使用 Happstack 库来编写。在最基本的层面上,这个项目只是一个花哨的文件服务器,带有一些特定于域的 REST 方法(或者其他什么,我真的不在乎它是否真的是 RESTful)来搜索和获取所述文件和元数据。由于我现在也在尝试真正学习 monad 转换器,因此我认为这将是一个完美的学习项目。但是,我在启动它时遇到了一些困难,特别是在如何构建我的变压器堆栈方面。

现在,我只担心几件事:配置、错误报告、状态和日志记录,所以我从

因为我总是在 IO 中,所以我可以很容易地使用 hslogger 来处理我的日志记录。但我也知道我需要使用ServerPartT才能与 Happstack 交互,因此

我可以让它运行,查看请求等,但我遇到的问题是,这需要FilterMonad为它实现才能使用像dirpath和之类的方法ok,但我不知道如何为这种类型实现它。我只需要它将过滤器传递给底层的 monad。有人可以给我一些关于如何实现这个明显至关重要的类型类的指示吗?或者,如果我只是在做一些非常错误的事情,请引导我朝着正确的方向前进。我只关注 Happstack 几天,变形金刚对我来说还是很陌生。我认为我对它们的了解足以使它们变得危险,但我对它们的了解还不够,以至于我可以自己实现一个。非常感谢您提供的任何帮助!

完整代码

(X-从/r/haskell发布)

0 投票
2 回答
246 浏览

haskell - 在 Happstack 路由过滤器中组合 GET 和 POST 部分

我正在尝试使用 Happstack 实现一个简单的请求处理程序:

如何在不重复的情况下实现类似的目标dir "hello"

这个,

只会“落入”默认部分。

0 投票
1 回答
372 浏览

haskell - Happstack:网络路由和表单数据

好的,所以昨天我尝试真正使用 Happstack。

好的,所以我的实际问题。到目前为止我有这个:

这就是关于网络路由的教程。现在我去阅读关于表单的教程,我意识到为了访问表单数据,你需要在ServerPartmonad 中,而不是在Htmlmonad 中。所以我最终做了类似的事情

现在我去修改route函数来调用generate_page_Output而不是page_Output. 大概是这样的:

好吧,你知道什么?这不会进行类型检查。route生活在RouteTmonad 中,而我正在尝试在ServerPartmonad 中做事。最终我发现liftRouteT :: m a -> RouteT url m a. 好像很有可能吧?因此,如果我将行更改为

现在它编译了。有趣的是……现在输出页面的 URL 是 HTTP 404。此时我完全不知道为什么。我只是还没有找到正确的函数调用。

有人知道如何解决这个问题吗?

0 投票
1 回答
339 浏览

haskell - 如何将 Happstack 日志发送到标准输出?

我有一个简单的 hello world happstack 应用程序:

我希望它记录对标准输出的请求。

我发现这个http://happstack.wordpress.com/2009/02/26/happstack-now-outputs-apache-combined-logs/说它正在输出日志,但它们不会输出到标准输出。我以前从未使用过hslogger,并且无法弄清楚如何a)配置它,b)将它连接到happstack。nullConf提供了一个 default logMAccess,但不清楚它是如何在 hslogger 中结束的。

0 投票
2 回答
2446 浏览

haskell - 高性能应用服务器应该选择 Yesod 的 Warp 和 snap-server 中的哪一个?

我在 Yesod 的主页上看到了基准测试,但它们主要是针对静态文件的。Snap 网站上的基准已经过时。

我正在尝试将 Haskell 模块公开为服务。服务器的逻辑是接收 JSON 格式的函数名称和参数,调用 Haskell 函数并再次将输出作为 JSON 传递。引用透明性保证了线程安全以及记忆和缓存函数的能力。

如果我要支持 2k - 5k 的并发连接,我将如何实现它?这种方法的可扩展性如何?

0 投票
0 回答
126 浏览

haskell - 如何访问happstack中的响应代码?

我正在尝试在我的 happstack 应用程序中存储所有 200 个响应代码的计数器。

据我所知,问题在于notFound添加了一个设置代码的过滤器,在我检查响应时该代码尚未运行。

我不能使用我自己的过滤器,因为它有类型Response -> Response并且我需要在 IO monad 中才能访问 mvar。我发现mapServerPartT这看起来可以挂在我自己的代码中,但我不太确定在这种情况下这是否是矫枉过正。

我确实找到了 simpleHttp'',它似乎直接调用runWebT,然后在我可以挂钩的任何代码appFilterToResp 之外运行。也许我必须建立自己的版本simpleHttp''

更新:这行得通,这是最好的方法吗?

一个可能相关的问题:我还希望能够对请求进行计时,这意味着我必须在请求周期结束时在同一个位置挂上钩子。

更新2:我能够获得请求的时间: