GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJOLICIOUS::PLUGIN::DEFAULTHELPERS (3)

.ds Aq ’

NAME

Mojolicious::Plugin::DefaultHelpers - Default helpers plugin

CONTENTS

SYNOPSIS



  # Mojolicious
  $app->plugin(DefaultHelpers);

  # Mojolicious::Lite
  plugin DefaultHelpers;



DESCRIPTION

Mojolicious::Plugin::DefaultHelpers is a collection of helpers for Mojolicious.

This is a core plugin, that means it is always enabled and its code a good example for learning to build new plugins, you’re welcome to fork it.

See PLUGINS in Mojolicious::Plugins for a list of plugins that are available by default.

HELPERS

Mojolicious::Plugin::DefaultHelpers implements the following helpers.

    accepts



  my $formats = $c->accepts;
  my $format  = $c->accepts(html, json, txt);



Select best possible representation for resource from Accept request header, format stash value or format GET/POST parameter with accepts in Mojolicious::Renderer, defaults to returning the first extension if no preference could be detected.



  # Check if JSON is acceptable
  $c->render(json => {hello => world}) if $c->accepts(json);

  # Check if JSON was specifically requested
  $c->render(json => {hello => world}) if $c->accepts(, json);

  # Unsupported representation
  $c->render(data => , status => 204)
    unless my $format = $c->accepts(html, json);

  # Detected representations to select from
  my @formats = @{$c->accepts};



    app



  %= app->secrets->[0]



Alias for app in Mojolicious::Controller.

    b



  %= b(test 123)->b64_encode



Turn string into a Mojo::ByteStream object.

    c



  %= c(a, b, c)->shuffle->join



Turn list into a Mojo::Collection object.

    config



  %= config something



Alias for config in Mojo.

    content



  %= content foo => begin
    test
  % end
  %= content bar => Hello World!
  %= content foo
  %= content bar
  %= content



Store partial rendered content in a named buffer and retrieve it later, defaults to retrieving the named buffer content, which is used by the renderer for the layout and extends features. New content will be ignored if the named buffer is already in use.

    content_for



  % content_for foo => begin
    test
  % end
  %= content_for foo



Same as content, but appends content to named buffers if they are already in use.



  % content_for message => begin
    Hello
  % end
  % content_for message => begin
    world!
  % end
  %= content message



    content_with



  % content_with foo => begin
    test
  % end
  %= content_with foo



Same as content, but replaces content of named buffers if they are already in use.



  % content message => begin
    world!
  % end
  % content_with message => begin
    Hello <%= content message %>
  % end
  %= content message



    csrf_token



  %= csrf_token



Get CSRF token from session, and generate one if none exists.

    current_route



  % if (current_route login) {
    Welcome to Mojolicious!
  % }
  %= current_route



Check or get name of current route.

    delay



  $c->delay(sub {...}, sub {...});



Disable automatic rendering and use delay in Mojo::IOLoop to manage callbacks and control the flow of events, which can help you avoid deep nested closures that often result from continuation-passing style. Also keeps a reference to tx in Mojolicious::Controller in case the underlying connection gets closed early, and calls reply->exception if an exception gets thrown in one of the steps, breaking the chain.



  # Longer version
  $c->render_later;
  my $tx    = $c->tx;
  my $delay = Mojo::IOLoop->delay(sub {...}, sub {...});
  $delay->catch(sub { $c->reply->exception(pop) and undef $tx })->wait;

  # Non-blocking request
  $c->delay(
    sub {
      my $delay = shift;
      $c->ua->get(http://mojolicious.org => $delay->begin);
    },
    sub {
      my ($delay, $tx) = @_;
      $c->render(json => {title => $tx->res->dom->at(title)->text});
    }
  );



    dumper



  %= dumper {some => data}



Dump a Perl data structure with dumper in Mojo::Util, very useful for debugging.

    extends



  % extends blue;
  % extends blue, title => Blue!;



Set extends stash value, all additional key/value pairs get merged into the stash.

    flash



  %= flash foo



Alias for flash in Mojolicious::Controller.

    inactivity_timeout



  $c = $c->inactivity_timeout(3600);



Use stream in Mojo::IOLoop to find the current connection and increase timeout if possible.



  # Longer version
  Mojo::IOLoop->stream($c->tx->connection)->timeout(3600);



    include



  %= include menubar
  %= include menubar, format => txt



Alias for render_to_string in Mojolicious::Controller.

    is_fresh



  my $bool = $c->is_fresh;
  my $bool = $c->is_fresh(etag => abc);
  my $bool = $c->is_fresh(last_modified => $epoch);



Check freshness of request by comparing the If-None-Match and If-Modified-Since request headers to the ETag and Last-Modified response headers with is_fresh in Mojolicious::Static.



  # Add ETag/Last-Modified headers and check freshness before rendering
  $c->is_fresh(etag => abc, last_modified => 1424985708)
    ? $c->rendered(304)
    : $c->render(text => I X Mojolicious!);



    layout



  % layout green;
  % layout green, title => Green!;



Set layout stash value, all additional key/value pairs get merged into the stash.

    param



  %= param foo



Alias for param in Mojolicious::Controller.

    reply->asset



  $c->reply->asset(Mojo::Asset::File->new);



Reply with a Mojo::Asset::File or Mojo::Asset::Memory object using serve_asset in Mojolicious::Static, and perform content negotiation with Range, If-Modified-Since and If-None-Match headers.



  # Serve asset with custom modification time
  my $asset = Mojo::Asset::Memory->new;
  $asset->add_chunk(Hello World!)->mtime(784111777);
  $c->res->headers->content_type(text/plain);
  $c->reply->asset($asset);

  # Serve static file if it exists
  if (my $asset = $c->app->static->file(images/logo.png)) {
    $c->res->headers->content_type(image/png);
    $c->reply->asset($asset);
  }



    reply->exception



  $c = $c->reply->exception(Oops!);
  $c = $c->reply->exception(Mojo::Exception->new);



Render the exception template exception.$mode.$format.* or exception.$format.* and set the response status code to 500. Also sets the stash values exception to a Mojo::Exception object and snapshot to a copy of the stash for use in the templates.

    reply->not_found



  $c = $c->reply->not_found;



Render the not found template not_found.$mode.$format.* or not_found.$format.* and set the response status code to 404. Also sets the stash value snapshot to a copy of the stash for use in the templates.

    reply->static



  my $bool = $c->reply->static(images/logo.png);
  my $bool = $c->reply->static(../lib/MyApp.pm);



Reply with a static file using static in Mojolicious, usually from the public directories or DATA sections of your application. Note that this helper does not protect from traversing to parent directories.



  # Serve file with a custom content type
  $c->res->headers->content_type(application/myapp);
  $c->reply->static(foo.txt);



    session



  %= session foo



Alias for session in Mojolicious::Controller.

    stash



  %= stash foo
  % stash foo => bar;



Alias for stash in Mojolicious::Controller.



  %= stash(name) // Somebody



    title



  %= title
  % title Welcome!;
  % title Welcome!, foo => bar;



Get or set title stash value, all additional key/value pairs get merged into the stash.

    ua



  %= ua->get(mojolicious.org)->res->dom->at(title)->text



Alias for ua in Mojo.

    url_for



  %= url_for named, controller => bar, action => baz



Alias for url_for in Mojolicious::Controller.



  %= url_for(/index.html)->query(foo => bar)



    url_with



  %= url_with named, controller => bar, action => baz



Does the same as url_for, but inherits query parameters from the current request.



  %= url_with->query([page => 2])



    validation



  %= validation->param(foo)



Alias for validation in Mojolicious::Controller.

METHODS

Mojolicious::Plugin::DefaultHelpers inherits all methods from Mojolicious::Plugin and implements the following new ones.

    register



  $plugin->register(Mojolicious->new);



Register helpers in Mojolicious application.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJOLICIOUS::PLUGIN::DEFAULTHELPERS (3) 2016-03-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.