2016-05-08 73 views
4

舞者中是否有任何獨特的請求ID?舞者獨特請求ID

阿帕奇已經mod_unique_id:http://httpd.apache.org/docs/current/mod/mod_unique_id.html

PSGI /普拉克有一箇中間件模塊:http://search.cpan.org/~bayashi/Plack-Middleware-RequestId-0.02/lib/Plack/Middleware/RequestId.pm

但有什麼天然的舞者我錯過了什麼?

+1

您可以在Dancer程序面前添加中間件。那問題在哪裏? – simbabque

+0

這不是Debian軟件包,取決於Dancer應用程序通過Plack運行。 – Sebastian

+1

[Dancer :: Request對象具有_id_屬性](https://metacpan.org/source/BIGPRESH/Dancer-1.3202/lib/Dancer/Request.pm#L130),似乎是一個自動遞增數字。我會嘗試如何使用它。 – simbabque

回答

1

當我需要的唯一ID與Mojolicious使用,我用Data::UUID產生的線長(128位)數字與RFC 4122

我不能有任何更具體的沒有你使用的一個清晰的概念但這似乎很好地工作:

#!/usr/bin/env perl 

use strict; 
use warnings; 

use Data::UUID; 

my $gen = Data::UUID -> new(); 

my $binary_uuid = $gen -> create ; 

print $gen -> to_string ($binary_uuid),"\n"; 
print $gen -> to_hexstring ($binary_uuid),"\n"; 
print $gen -> to_b64string ($binary_uuid),"\n"; 

您可以選擇輸出格式。如果您的應用程序對您的應用程序有用,則可以直接創建,例如:

my $gen = Data::UUID -> new(); 
my $uuid = $gen -> create_str ; 
print $uuid, "\n"; 
#reformat output 
print $gen -> to_hexstring ($uuid),"\n";