Catalyst-Runtime

 view release on metacpan or  search on metacpan

lib/Catalyst/DispatchType/Chained.pm  view on Meta::CPAN

          $endpoint_arg_info .= " ($tc)";
        } else {
          $endpoint_arg_info .= defined($endpoint->attributes->{Args}[0]) ? " ($args)" : " (...)";
        }
        push(@rows, [ '', (@rows ? "=> " : '').($extra ? "$extra " : ''). ($scheme ? "$scheme: ":'')."/${endpoint_arg_info}". ($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;
    }

    $c->log->debug( "Loaded Chained actions:\n" . $paths->draw . "\n" );
    $c->log->debug( "Unattached Chained actions:\n", $unattached_actions->draw . "\n" )
        if $has_unattached_actions;
}

sub _list_extra_http_methods {
    my ( $self, $action ) = @_;
    return unless defined $action->list_extra_info->{HTTP_METHODS};
    return join(', ', @{$action->list_extra_info->{HTTP_METHODS}});

}

lib/Catalyst/RouteMatching.pod  view on Meta::CPAN

      sub int_priority_link2 :Chained(link_int_int) PathPart('') Args(Int) {  }

    sub link_tuple :Chained(chain_base) PathPart('') CaptureArgs(Tuple[Int,Int,Int]) { }

      sub any_priority_link3 :Chained(link_tuple) PathPart('') Args(1) {  }

      sub int_priority_link3 :Chained(link_tuple) PathPart('') Args(Int) {  }

These chained actions might create match tables like the following:

    [debug] Loaded Chained actions:
    .-------------------------------------+--------------------------------------.
    | Path Spec                           | Private                              |
    +-------------------------------------+--------------------------------------+
    | /chain_base/*/*                     | /chain_base (1)                      |
    |                                     | => GET /any_priority_chain (1)       |
    | /chain_base/*/*/*                   | /chain_base (1)                      |
    |                                     | -> /link_int (Int)                   |
    |                                     | => /any_priority_link (1)            |
    | /chain_base/*/*/*/*                 | /chain_base (1)                      |
    |                                     | -> /link_int_int (Int,Int)           |

lib/Catalyst/UTF8.pod  view on Meta::CPAN

browser location that has the unicode 'heart' in it.  However we will use the unicode
symbol in your debugging messages:

    [debug] Loaded Path actions:
    .-------------------------------------+--------------------------------------.
    | Path                                | Private                              |
    +-------------------------------------+--------------------------------------+
    | /root/♥/*                          | /root/heart_with_arg                  |
    '-------------------------------------+--------------------------------------'

    [debug] Loaded Chained actions:
    .-------------------------------------+--------------------------------------.
    | Path Spec                           | Private                              |
    +-------------------------------------+--------------------------------------+
    | /base/♥/*/♥/*                       | /root/base (0)                       |
    |                                     | -> /root/capture (1)                 |
    |                                     | => /root/arg                         |
    '-------------------------------------+--------------------------------------'

And if the requested URL uses unicode characters in your captures or args (such as
C<http://localhost:/base/♥/♥/♥/♥>) you should see the arguments and captures as their

t/args0_bug.t  view on Meta::CPAN


  package MyApp;
  use Catalyst;

  #MyApp->config(use_chained_args_0_special_case=>1);
  MyApp->setup;
}

=over

[debug] Loaded Chained actions:
.-----------------------------------------+---------------------------------------------------.
| Path Spec                               | Private                                           |
+-----------------------------------------+---------------------------------------------------+
| /chain_base/*/*                         | /chain_base (1)                                   |
|                                         | => /chained_one_args_0 (1)                        |
| /chain_base/*/*                         | /chain_base (1)                                   |
|                                         | => /chained_one_args_1 (1)                        |
| /chain_base/*                           | /chain_base (1)                                   |
|                                         | => /chained_zero_args_0 (0)                       |
| /chain_base/*                           | /chain_base (1)                                   |

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 0.880 second using v1.00-cache-2.02-grep-82fe00e-cpan-585fae043c8 )