标签: dancer

使用Dancer perl的多个应用程序目录

有没有办法让一个应用程序在舞者,但有多个appdirs.

或者我可以这样做:

我的项目是dir'foo'.让我们说我有一个dir'bar'(不在'foo'里面),它有一个名为'public'的目录.我什么我的应用程序"富"使用这个公众自身的公众,如果搜索让我们说"/css/style.css",这是不是在"/酒吧/大众/"应该搜索"/富/上市/'.我怎样才能做到这一点?

perl dancer

5
推荐指数
2
解决办法
1246
查看次数

如何使用Net :: OpenID :: Consumer与Yahoo OpenID避免编码错误?

我编写了一个Net::OpenID::Consumer使用OpenID进行身份验证的Dancer Web应用程序.它适用于Google和MyOpenID,但不适用于Yahoo.当用户尝试使用他们的Yahoo帐户进行身份验证时,HTML::Parser警告:

Parsing of undecoded UTF-8 will give garbage when decoding entities

这个警告杀了我的应用程序(理所当然).

我没有看到Net::OpenID::Consumer与此相关的任何现有错误(或Common).
HTTP标头和HTML元标记都为"声明的id"URI指定UTF-8.
为什么不解码响应HTML::Parser?我错过了一些明显的东西吗

这是相关的代码:

get '/openid_landing' => sub {
    my $params = params();
    my $csr = Net::OpenID::Consumer->new(
        ua => LWP::UserAgent->new(),
        consumer_secret => $secret,
        params => $params,
    );  
    my $id = $params->{'openid.claimed_id'};

    if (my $setup_url = $csr->user_setup_url) {
        redirect $setup_url;

    } elsif ($csr->user_cancel) {
        redirect uri_for('/');

    } elsif (my $vident = $csr->verified_identity) {
       # verified identity, log in or register …
Run Code Online (Sandbox Code Playgroud)

openid yahoo perl dancer

5
推荐指数
1
解决办法
299
查看次数

Perl舞者和模板工具包:在模板中包含模板

我试图在模板中包含一个模板,如下所示:

parent.tt

  <div class="row-fluid">
    <div class="span3">
    [% INCLUDE my_sidebar]
    </div><!--/span-->
   </div>
Run Code Online (Sandbox Code Playgroud)

my_sidebar.tt与parent.tt存在于同一文件夹中(/ myapp/views)

我对config.yml进行了以下更改:使用ABSOLUTE

template: "template_toolkit"
engines:
   template_toolkit:
     encoding:  'utf8'
     start_tag: '[%'
     end_tag:   '%]'
     ABSOLUTE : 1
Run Code Online (Sandbox Code Playgroud)

parent.tt包含:

[% INCLUDE /myapps/views/my_sidebar %]
Run Code Online (Sandbox Code Playgroud)

有了RELATIVE

template: "template_toolkit"
engines:
   template_toolkit:
     encoding:  'utf8'
     start_tag: '[%'
     end_tag:   '%]'
     RELATIVE : 1
     INCLUDE_PATH: /myapps/views
Run Code Online (Sandbox Code Playgroud)

parent.tt包含:

[% INCLUDE my_sidebar %]
Run Code Online (Sandbox Code Playgroud)

但在这两种情况下,我都会收到以下错误:

core - template - file error - my_sidebar: not found at /.../csm/64-bit/cpan/5.16.1-2012.09/lib/Dancer/Template/Abstract.pm line 90.
Run Code Online (Sandbox Code Playgroud)

perl template-toolkit dancer

5
推荐指数
1
解决办法
1163
查看次数

Perl Dancer尾随斜线

使用Perl Web应用程序框架Dancer,我在URL匹配中使用尾部斜杠存在一些问题.

比方说,我希望匹配以下URL,并带有可选的Id参数:

get '/users/:id?' => sub
{
    #Do something
}
Run Code Online (Sandbox Code Playgroud)

双方/users/morgan/users/比赛.虽然/users不会.哪个看起来不太均匀.因为我更喜欢,只匹配URL:s而没有斜杠: /users/morgan/users.我怎么做到这一点?

perl dancer

5
推荐指数
2
解决办法
611
查看次数

支持API密钥的Perl Dancer Auth解决方案?

我有一个舞者网络应用程序,它是部分网站和部分网络服务; 我的应用程序上的某些路由应该有auth.

我为Dancer Web应用程序找到的所有auth解决方案都需要重定向到登录页面; 虽然这对于交互式使用是可以的,但这对于宁静的Web服务来说并不是最佳选择.

是否有一个auth解决方案,允许像api键这样的东西?

authentication perl api-key dancer

5
推荐指数
1
解决办法
1148
查看次数

perl dancer - 如何向方法处理器子程序传递额外的参数?

有没有办法将其他变量传递给方法处理程序子例程?我通常不喜欢在子程序范围之外使用全局变量.我有数据库连接和类实例,我希望处理程序可以访问,而不使用全局变量.使用调试到控制台,对于每个处理程序调用,@ _看起来都是空的.

#!/usr/bin/perl

use strict;

use Dancer;
use Data::Dumper;

set('logger' => 'console');

my $somevar = SomeClass->new();

get('/' => sub{
  debug(Dumper(@_));
  debug($somevar);
  return('hello world');
});
Run Code Online (Sandbox Code Playgroud)

perl dancer

5
推荐指数
1
解决办法
566
查看次数

阅读GET请求时舞者随机挂起

我在Linux上玩perl舞者,如果浏览器直接通过LAN连接到服务器,那么一切都很好.但是,当我通过WAN连接并且浏览器是IE9时,偶尔繁忙的光标不会消失.

我可以通过连续10次重新加载页面apx来激发这一点.即使我在每次重新加载之间等待几秒钟,我也会遇到这个问题.页面本身非常简单,并通过了w3c检查.

如果我以舞者身份运行舞者,或者端口是80还是3000,那也没什么区别.还经常测试使用apache频繁重新加载页面并且似乎没有问题.

我跑过strace,我的印象是,当舞者试图阅读它时,请求数据有时并不可用.这就是跟踪的样子

当它工作时:

{sa_family=AF_INET, sin_port=htons(52073), sin_addr=inet_addr("78.42.213.92")}, [16]) = 4
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfab5028) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(4, 0, 0xbfab5070, SEEK_CUR)     = -1 ESPIPE (Illegal seek)
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
getpeername(4, {sa_family=AF_INET, sin_port=htons(52073), sin_addr=inet_addr("78.42.213.92")}, [16]) = 0
read(4, "G", 1)                         = 1
read(4, "E", 1)                         = 1
read(4, "T", 1) …
Run Code Online (Sandbox Code Playgroud)

linux perl internet-explorer internet-explorer-9 dancer

5
推荐指数
1
解决办法
278
查看次数

使用Emperor进行uwsgi部署:重复“宣布我对皇帝的忠诚”

使用uwsgi运行两个psgi Perl Dancer应用程序。

几乎每一个要求,uwsgi封臣都会反复宣布对皇帝的忠诚,这是正常的吗?

这是我的uwsgi.log文件的一小部分:

announcing my loyalty to the Emperor...
Mon Aug 17 20:51:59 2015 - [emperor] vassal www.ini is now loyal
[pid: 1713|app: 0|req: 4/11] 0.0.0.0 () {44 vars in 873 bytes} [Mon Aug 17 20:52:12 2015] GET /sitemap-index.xml => generated 284 bytes in 7 msecs (HTTP/1.1 200) 4 headers in 146 bytes (0 switches on core 0)
[pid: 1706|app: 0|req: 2/12] 0.0.0.0 () {42 vars in 808 bytes} [Mon Aug 17 20:52:22 2015] GET / => generated …
Run Code Online (Sandbox Code Playgroud)

perl uwsgi dancer

5
推荐指数
0
解决办法
1136
查看次数

Perl Dancer模板标题,页脚

我正在学习Perl并使用Dancer作为Web框架.我有两个视图(tt文件)应该共享相同的导航.因此,开始学习如何管理导航和页脚模板会很棒.

我已经阅读了Template Toolkit的文档,并且我已经完成了以下操作:

我已将config.yml文件更改为:

#template: "simple"

template: "template_toolkit"
engines:
     template_toolkit:
     start_tag: '[%'
     end_tag:   '%]'
Run Code Online (Sandbox Code Playgroud)

我在.pm文件中定义了模板:

package proyecto;
use Dancer ':syntax';

our $VERSION = '0.1';

get '/' => sub {
    template 'index';
};


get '/menu' => sub {
    template 'menu';
};

true;
Run Code Online (Sandbox Code Playgroud)

索引模板中有一个链接将访问者指向菜单模板:

<li class="active">< a href="/menu">Menu <span class="sr-only"></span></a></li>
Run Code Online (Sandbox Code Playgroud)

我想重复使用index.tt中的导航代码到menu.tt,所以我将index.tt中的导航代码包装成如下:

[% BLOCK navigation %]
#my nav code
[% END %]
Run Code Online (Sandbox Code Playgroud)

为了最终在menu.tt文件中包含该代码,我编写了以下内容(导航代码应该在哪里):

[% navigation = 'index.tt' %]
[% INCLUDE navigation %] 
Run Code Online (Sandbox Code Playgroud)

这些文件index.ttmenu.tt位于文件夹视图.但它似乎并不那么容易!=(关于如何将代码从一个文件重用到另一个文件的任何建议,该文件位于同一目录中?

perl templates template-toolkit dancer

5
推荐指数
1
解决办法
392
查看次数

5
推荐指数
1
解决办法
184
查看次数