NAME
    Mojolicious::Plugin::MethodOverride - Simulate HTTP Verbs

VERSION
    Version 0.001

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.

    A valid value for the HTTP verb in the header or query parameter is one
    of:

    GET
    POST
    PUT
    DELETE
    OPTIONS

    It must be specified in UPPER case.

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 2011 Bernhard Graf.

    This program is free software; you can redistribute it and/or modify it
    under the terms of either: the GNU General Public License as published
    by the Free Software Foundation; or the Artistic License.

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

