The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
NAME
    Mojolicious::Plugin::MethodOverride - Simulate HTTP Verbs

VERSION
    Version 0.020

SYNOPSIS
      package My::App;
      use Mojo::Base 'Mojolicious';

      sub startup {
        my $self = shift;

        $self->plugin('MethodOverride');

        ...
      }

      1;

DESCRIPTION
    This plugin can simulate any HTTP verb (a.k.a. HTTP method) in
    environments where HTTP verbs other than GET and POST are not available.
    It uses the same approach as in many other restful web frameworks, where
    it replaces the "HTTP POST" method with a method given by an "HTTP"
    header. It is also possible to define a query parameter for the same
    purpose.

    Any token built of US-ASCII letters is accepted as a valid value for the
    HTTP verb.

CONFIGURATION
    The default HTTP header to override the "HTTP POST" method is
    "X-HTTP-Method-Override". Overriding through a query parameter is off by
    default.

    These settings can be changed in the plugin method call as demonstrated
    in the examples below:

      # Mojolicious
      $self->plugin(
        MethodOverride => {
          header => 'X-Tunneled-Method',
          param  => 'x-tunneled-method',
        }
      );

      # Mojolicious::Lite
      plugin 'MethodOverride',
        header => 'X-HTTP-Method',
        param  => 'http_method';

    HTTP header can be disabled by setting to "undef":

      # A Mojolicious app, that enables method overriding
      # by query parameter only:
      $self->plugin(
        MethodOverride => {
          header => undef,
          param  => 'x-tunneled-method',
        }
      );

AUTHOR
    Bernhard Graf "<graf at cpan.org>"

BUGS
    Please report any bugs or feature requests to
    "bug-mojolicious-plugin-methodoverride at rt.cpan.org", or through the
    web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Mojolicious-Plugin-Metho
    dOverride>. I will be notified, and then you'll automatically be
    notified of progress on your bug as I make changes.

SEE ALSO
    Plack::Middleware::MethodOverride,
    Catalyst::TraitFor::Request::REST::ForBrowsers,
    HTTP::Engine::Middleware::MethodOverride,
    <http://code.google.com/apis/gdata/docs/2.0/basics.html>

LICENSE AND COPYRIGHT
    Copyright (C) 2012 Bernhard Graf.

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

    See http://dev.perl.org/licenses/ for more information.