2016-05-08 8 views
4

Gibt es eine eindeutige Anfrage ID in Dancer?Einzigartige Tänzeranfrage ID

Apache hat mod_unique_id: http://httpd.apache.org/docs/current/mod/mod_unique_id.html

PSGI/Plack hat eine Middleware-Modul: http://search.cpan.org/~bayashi/Plack-Middleware-RequestId-0.02/lib/Plack/Middleware/RequestId.pm

Aber gibt es etwas nativer in Dancer ich verpasst? Ich kann nicht mehr spezifisch ohne eine klarere Vorstellung von Ihrer Verwendung

+1

Sie können auf jeden Fall die Middleware vor Ihrem Dancer Programm hinzufügen. Wo ist das Problem? – simbabque

+0

Es ist kein Debian-Paket und hängt von der Dancer-App ab, die über Plack läuft. – Sebastian

+1

Das [Dancer :: Request-Objekt hat eine _id_-Eigenschaft] (https://metacpan.org/source/BIGPRESH/Dancer-1.3202/lib/Dancer/Request.pm#L130), die eine Auto-Inkrementnummer zu sein scheint. Ich werde versuchen, es zu benutzen. – simbabque

Antwort

1

Wenn ich eindeutige IDs für mit Mojolicious Gebrauch benötigt habe, habe ich Data::UUID verwendet, die mit RFC 4122

lang (128bit) Zahlen in Zeile erzeugt Fall, aber das scheint gut zu funktionieren:

#!/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"; 

Sie haben eine Auswahl an Ausgabeformaten. Sie können, wenn es um Ihre Anwendung nützlich ist, erstellen Sie direkt, z.B .:

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