in build/parse_spec_base_8.pl [137:176]
sub process_paths {
#===================================
my ( $name, $method, $url ) = @_;
if ($url->{deprecated_paths}) {
foreach my $u (@{$url->{deprecated_paths}}) {
push (@{ $url->{paths} }, $u->{path});
}
}
my @path_defns = map { process_path( $method, $_ ) } @{ $url->{paths} };
my %sigs;
for (@path_defns) {
$_->{name} = $name;
# check for duplicate params
my $sig = $_->{sig};
if ( my $exists = $sigs{$sig} ) {
next if length( $exists->{path} ) <= length $_->{path};
}
$sigs{$sig} = $_;
# check for duplicate wildcards
warn "Duplicate paths: " . pp( [ $seen{ $_->{wildcard} }, $_ ] )
if $seen{ $_->{wildcard} };
$seen{ $_->{wildcard} } = $_;
}
# generate paths with _all
my @paths;
for my $path ( sort { $a->{max} <=> $b->{max} or $b->{sig} cmp $a->{sig} }
values %sigs )
{
}
continue {
push @paths, [ $path->{params}, @{ $path->{parts} } ];
}
return [ reverse @paths ];
}