X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=lib%2FCatalyst%2FDispatchType%2FChained.pm;h=e29e5b5916d4fdaa1b26cba8390cca4786f49bcd;hp=28886075d40dbee2e5acc2ab7160a5b55a9d0c51;hb=342d21698a97962c51114b6ebc6bb8626511cfc6;hpb=e8361cf8fc1d23adf4a14a81726477c48a80449e diff --git a/lib/Catalyst/DispatchType/Chained.pm b/lib/Catalyst/DispatchType/Chained.pm index 2888607..e29e5b5 100644 --- a/lib/Catalyst/DispatchType/Chained.pm +++ b/lib/Catalyst/DispatchType/Chained.pm @@ -103,6 +103,7 @@ sub list { my $parent = "DUMMY"; my $extra = $self->_list_extra_http_methods($endpoint); my $consumes = $self->_list_extra_consumes($endpoint); + my $scheme = $self->_list_extra_scheme($endpoint); my $curr = $endpoint; while ($curr) { if (my $cap = $curr->list_extra_info->{CaptureArgs}) { @@ -134,13 +135,16 @@ sub list { if (defined(my $ct = $p->list_extra_info->{Consumes})) { $name .= ' :'.$ct; } + if (defined(my $s = $p->list_extra_info->{Scheme})) { + $scheme = uc $s; + } unless ($p eq $parents[0]) { $name = "-> ${name}"; } push(@rows, [ '', $name ]); } - push(@rows, [ '', (@rows ? "=> " : '').($extra ? "$extra " : '')."/${endpoint}". ($consumes ? " :$consumes":"" ) ]); + push(@rows, [ '', (@rows ? "=> " : '').($extra ? "$extra " : ''). ($scheme ? "$scheme: ":'')."/${endpoint}". ($consumes ? " :$consumes":"" ) ]); my @display_parts = map { $_ =~s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; decode_utf8 $_ } @parts; $rows[0][0] = join('/', '', @display_parts) || '/'; $paths->row(@$_) for @rows; @@ -164,6 +168,11 @@ sub _list_extra_consumes { return join(', ', @{$action->list_extra_info->{CONSUMES}}); } +sub _list_extra_scheme { + my ( $self, $action ) = @_; + return unless defined $action->list_extra_info->{Scheme}; + return uc $action->list_extra_info->{Scheme}; +} =head2 $self->match( $c, $path )