问题标签 [scotty]

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 回答
470 浏览

haskell - Scotty 帖子类型不允许效果

和:

我收到以下类型错误:

花了几个小时后,我仍然不知道如何解决这个问题。如果我使用 Scotty 内部的函数,没问题,但如果我想在外部处理任何事情,我会收到上面的错误。我怎样才能克服这个Web.Scotty.Internal.Types.ActionT T.Text IO ()

0 投票
0 回答
589 浏览

json - Haskell Scotty 和 Angularjs:jsonData 函数停止解析使用 $http.post() 发送的 json 数据

我有一个以 Angularjs 作为前端的 Haskell/Scotty 应用程序。它在 JSON 解析方面完美无缺。然后突然无缘无故停了下来。它发生在一些 Scotty 及其依赖项版本碰撞之后。

jsonData解析 JSON 正文的 scotty 函数没有太多错误反馈。目前,Angular 的任何 POST 请求都不起作用。我无法弄清楚发生了什么。我不知道哪个代码示例会有用,因为任何 JSON POST 都会导致jsonData - no parse错误。这就是我所得到的。下面是一些代码示例。

这是传递简单用户名和密码的控制器

这是将 POST 请求 JSON 数据发送到 Scotty 后端的服务

这是修改后的 Scotty 路由函数,用于尝试捕获异常错误

这是实际loginUser功能

没有什么是超越j <- jsonData界限的。

jsonData函数崩溃,异常给了我

这就是我所得到的。没有有用的错误,甚至没有要分析的身体。

如果有人有类似的问题,请帮忙。或者也许是关于可能出了什么问题的建议。正如我之前所说,在一些愚蠢的更新之前,一切都运行良好。

谢谢你。

更新

看起来我得到了一个空的身体。这就是返回 json 解析错误的原因。

将登录功能更改为此

还给我一个空的身体。

同时从 Chrome 控制台查看有效负载给了我正常的身体

标题:

身体:

响应标头:

0 投票
0 回答
758 浏览

haskell - Scotty,WAI:捕获请求正文

我似乎不再能够捕获请求正文。当我在更新后遇到问题时,一切都从这里开始。我试图对其进行调查,结果我无法使用 scotty 的body函数或使用 Scotty 构建的 Network.WAI 函数获取请求正文。只有当我能得到它时,我才能自己解析 json 主体。

我正在尝试这个,但它不起作用。我只是得到一个空的字节串。

那么我在捕获请求正文方面做错了什么?最近对 Scotty 进行了哪些更改,使其无法正常工作?

谢谢

0 投票
1 回答
219 浏览

haskell - 在 Sqlite3 中输入的 Scotty 参数

我正在尝试创建一个网站,该网站将通过 URL 路由获取信息,然后将此信息传递到HDBC SQLITE3数据库中。我已经弄清楚如何使用 Scotty 通过参数获取信息以及如何使用 HDBC 创建数据库。但是我无法将参数信息传递给数据库。我收到此错误:(对于这样的初学者问题,我很抱歉,我只使用 Haskell 大约三周)

这是我要运行的代码:

如果有人可以提供如何解决这个问题,以及为什么他们的修复工作真的很有帮助!

0 投票
1 回答
201 浏览

sqlite - 从 Scotty 的 SQLite3 数据库中检索值

我正在尝试从 SQLite DB ( HDBC.sqlite3) 获取信息,以使用 Scotty 框架提供给 Web 视图。我目前正在尝试完成“全部抓取”,或者更确切地说从表格中选择所有信息,然后将其返回以显示在通过 Scotty 运行的网页上。我遇到了一个错误,我在弄清楚如何修复它时遇到了一些麻烦。

这是我的错误:

这是我的代码:

0 投票
1 回答
1241 浏览

haskell - Scotty 和 POST 参数

我现在遇到了 Scotty Web 服务器的问题 -rescue不适用于未找到的参数 - 我仍然收到带有以下代码的 404:

我可以看到,当我只是使用时params,我的数据就在那里,并用“”索引subscriber[email][逃跑有什么事情吗?对此的任何帮助都将是巨大的。

0 投票
0 回答
46 浏览

haskell - 斯科蒂和读者单子

我试图在我的 Scotty 应用程序中引入 Reader monad,作为在内部为 URL 扩展提供统一根路径的一种方式。我似乎无法理解 Scotty 如何处理 monad 转换 - 通常,我只会看到类似的东西runTransformerT ...,但scottyT有很多内部管道要做,所以结果实际上只是一个(如果在函数中使用,则MonadIO n => n ()强制,就像我在这里)。IO ()main

到目前为止,这是我的代码:

我得到的错误是:

我该如何使用这个魔法?

0 投票
1 回答
778 浏览

haskell - 在 Web.Scotty 中使用 StateT

我正在尝试制作一个将数据存储为State. 我正在使用Web.Scotty. 我之前使用 ReaderT 和 scotty 来访问 config,但是遵循相同的方法在这里不起作用。它重置每个请求的状态。

我想在程序启动时设置初始状态,然后在程序的整个生命周期中保持相同的状态。

我怎样才能使这项工作?(以下每个请求都会创建一个新状态)

0 投票
1 回答
1998 浏览

haskell - 当 Haskell 持久库中需要“Key”时,如何通过“Int”获取实体?

我将 Persistent orm 与 scotty web 框架一起使用。

我想通过 id 从 db 中获取价值。这些 id 来自 GET 请求

有一个“get”函数接受“Key Entity”变量并返回“Maybe Entity”。

我使用以下代码从数据库中获取价值

这些代码非常丑陋。但我不知道如何做得更好

所以我的问题是如何在不调用 keyFromValues 的情况下获取“Key Entity”类型的变量。

PS对不起我的英语不好

0 投票
3 回答
987 浏览

haskell - 什么时候泛型函数不是泛型的?

我正在使用scottyand开发 Haskell 服务器persistent。许多处理程序需要访问数据库连接池,所以我已经开始在整个应用程序中传递池,以这种方式:

wheregetPeople和是分别返回和getFoods的适当persistent数据库操作。[Person][Food]

一段时间后,在池上调用liftIO和的模式runSqlPool变得令人厌烦——如果我可以将它们重构为一个函数,就像 Yesod 的那样runDB,它只会接受查询并返回适当的类型,那不是很好。我写这样的东西的尝试是:

现在,我可以这样写:

除了 GHC 抱怨:

似乎 GHC 是在说实际上类型runDB变得专业化了。但是,函数是如何runSqlPool定义的呢?它的类型签名看起来与我的相似:

但它可以与返回许多不同类型的数据库查询一起使用,就像我最初所做的那样。我认为我在这里对类型有一些基本的误解,但我不知道如何找出它是什么!任何帮助将不胜感激。

编辑:

在 Yuras 的建议下,我添加了这个:

-XRankNTypes这是 typedef所必需的。但是,编译器错误仍然相同。

编辑:

评论者的胜利。这允许代码编译:

我很感激,但仍然很困惑!

代码目前看起来像thisthis