问题标签 [mojolicious]
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.
perl - 在 Mojolicious 控制器单元测试中将文件作为参数传递
我有一个文件上传应用程序。我想测试我的Upload
控制器。为此,我如何将文件传递给我的测试?对于我的应用程序中的文件上传,我使用外部应用程序/插件(Flash/HTML5/HTML4)。
perl - Mojolicious 测试和 plackup 实时运行不同
有时当我运行测试时,我会得到以下信息。
Mojo 的文档似乎建议添加
但是,当我尝试将其添加到程序中时,我在plackup
运行实例上收到此错误
超时的可能原因是由于通过使用 LWP 的客户端库运行的 HTTP 请求非常慢(尽管我尝试将 LWP 替换为AnyEvent::HTTP::LWP::UserAgent而没有任何真正的代码更改,只是传递一个不同的用户代理)
我想知道我可能会尝试做些什么来保持连接在测试中运行,我似乎对通过 chrome 的实时请求没有问题,或者我应该完全转向不同的方向?
perl - Mojolicious - 无法使用 hypnotoad 启动应用程序
正如标题所说,我不知道为什么。唯一发生的是工作目录中出现的 hypnotaod.pid 文件。没有正在运行的进程,没有在定义的端口上监听。另外- morbo 一切正常。
编辑:我已经跟踪了这家初创公司,http ://pastebin.com/YWUSeMuu
EDIT2:查看上面的 strace 输出后,似乎 hypnotad 将另一个“.pl”附加到脚本文件中。我已将文件名更改为 myapp,冲洗,重复http://pastebin.com/NVK2rhu4
任何想法都非常受欢迎。
现在的代码只是教程测试代码
perl - 为什么 Mojolicious 会嵌套我的路线?
我的 Mojolicious 应用程序有一些自定义身份验证机制,我在一个名为的路由条件中实现它auth_permission
:
所以我的路线看起来像这样:
to()
子句处理正确:给GET /objects
我对象列表,并GET /objects/delete/42
删除对象 42。
问题是view objects
两个请求都检查了权限,即使第二条路由应该检查权限delete objects
。
原因似乎/objects/delete/42
是下面的路径/objects
。/prefs
与其他路线没有共同基础的路线不会出现同样的问题。
我目前的解决方法是将 for 的规则放在 for 的下面/objects
,/objects/delete/:id
但这是 a) 不雅,并且 b) 当另一个开发人员编辑文件时会中断。我可以显式禁用在这种情况下看到的嵌套行为吗?
perl - UTF8 字符串部分无法识别
当我从 SQLite3 数据库中获取西里尔文文本时,在某些情况下 perl(或 Mojolicious,或 DBIx::Class - 我真的不知道)无法解码字节流。例如,给定文本:
输出将是:
为什么会这样?如何解决这个问题?
更新:我能够追踪这个问题的根源。看起来格式错误的字符串是从网页上的用户输入中获取的,并作为参数发送到 Controller 操作:code here。
执行保存操作会产生以下日志:
更新 2:我使用 Morbo 作为开发服务器,我的应用程序布局包含meta
标题:
更新 3:奇怪,但有时字符串被正确编码和显示:
如果我第二次做同样的事情,我会得到:
perl - Mojolicious 模板的测试覆盖率
在编写伽利略的过程中,我在模板 ( ) 中加入了一些逻辑.html.ep
,没什么,只是一些。为此,我想知道是否可以将这些文件包含在测试覆盖率分析中。
我尝试了一些东西,最有希望的是
但这些文件仍未包括在内。也许这是不可能的,但也许有人有一些想法。
perl - 如何将 Perl sub 的返回值转换为 arrayref?
我尝试这样的代码:
getRows 是一个子函数名,代码在模板中工作。$rows 是一个数组。
我写这样的代码:
$rows 是一个 REF,这是错误的。
如果这样写代码:
$rows 是一个 HASH,这是错误的。
有没有办法将两行代码写成一个?
perl - 如何向 mojolicious 路线添加多个 over 方法?
我有以下代码:
鉴于该路由,我可以通过使用 Mojolicious::Plugin::Authentication 设置的经过身份验证的检查到达用户路由。
我想在该路线上添加另一个“结束”。
不过,这似乎覆盖了经过身份验证的“过度”。
我尝试使用以下名称分解路线:
但这根本不起作用。两个'over'都没有被访问。
我的路由是 /user、/item 之类的东西,使用 MojoX::JSON::RPC::Service 设置。所以,我没有 /user/:id 之类的东西来设置子路由。(不确定是否重要)所有路由都像 /user,用参数发送。
我有这样的条件:
那就是 $r->route('/user')->over(access => 1); 中的“访问”
简而言之,路线在使用时可以正常工作:
但我无法添加第二条路线。
那么,在设置这些具有多个条件的路线时,我缺少什么?是否可以将多个条件添加到单个路由/route_name?
perl - 使用 Mojolicious 桥接时的深度递归
我定义了一个 Mojolicious 桥
我正在定义这样的路线
启动应用程序后,在 /usr/local/share/perl5/Mojolicious/Routes/Route.pm 第 23 行的子例程“Mojolicious::Routes::Route::AUTOLOAD”上出现错误 Deep recursion。
我不知道这里发生了什么。谁能帮我。
谢谢!
perl - 密码中的特殊字符导致 Mojolicious UA 中的基本身份验证失败
以下程序在尝试访问需要基本身份验证的 https 网站时失败。
当我使用 MOJO_USERAGENT_DEBUG=1 运行时,我得到以下输出:
使用从 CPAN 更新的 Mojolicious 3.35。不幸的是,密码可能包含“特殊字符”(ascii #!@%^& 等),并且不能将密码更改为不包含 # 的内容。Web 服务器在 Web 浏览器中正确处理请求,因此我认为这不是 Web 服务器配置问题。
那么在 Mojo 中还有其他方法可以实现这一点吗?