Bernhard Graf > Mojolicious-Plugin-MethodOverride-0.001 > Mojolicious::Plugin::MethodOverride

Download:
Mojolicious-Plugin-MethodOverride-0.001.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 0.001   Source   Latest Release: Mojolicious-Plugin-MethodOverride-0.040

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-MethodOverride. 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.

syntax highlighting: