@{ $self->_endpoints }
) {
my $args = $endpoint->list_extra_info->{Args};
- my @parts = (defined($args) ? (("*") x $args) : '...');
+ my @parts = (defined($endpoint->attributes->{Args}[0]) ? (("*") x $args) : '...');
my @parents = ();
my $parent = "DUMMY";
my $extra = $self->_list_extra_http_methods($endpoint);
push(@rows, [ '', $name ]);
}
- if(defined $endpoint->number_of_args) {
- if($endpoint->has_args_constraints) {
- my $tc = join ',', @{$endpoint->args_constraints};
- $endpoint .= " ($tc)";
- } else {
- $endpoint .= " (${\$endpoint->number_of_args})";
- }
+ if($endpoint->has_args_constraints) {
+ my $tc = join ',', @{$endpoint->args_constraints};
+ $endpoint .= " ($tc)";
+ } else {
+ $endpoint .= defined($endpoint->attributes->{Args}[0]) ? " ($args)" : " (...)";
}
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;
# The current best action might also be Args(0),
# but we couldn't chose between then anyway so we'll take the last seen
- if (!$best_action ||
+ if (
+ !$best_action ||
@parts < @{$best_action->{parts}} ||
- (!@parts && defined($args_attr) && $args_attr eq "0")){
+ (
+ !@parts &&
+ defined($args_attr) &&
+ (
+ $args_attr eq "0" &&
+ (
+ ($c->config->{use_chained_args_0_special_case}||0) ||
+ (
+ exists($best_action->{args_attr}) && defined($best_action->{args_attr}) ?
+ ($best_action->{args_attr} ne 0) : 1
+ )
+ )
+ )
+ )
+ ){
$best_action = {
actions => [ $action ],
captures=> [],
parts => \@parts,
+ args_attr => $args_attr,
n_pathparts => scalar(@pathparts),
};
}