Created
March 1, 2013 07:05
-
-
Save rkitover/5062956 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package EMS::Mojolicious::Utils; | |
use Mojo::Base 'Mojolicious::Plugin'; | |
=head1 NAME | |
EMS::Mojolicious::Utils - General purpose Mojolicious helpers for EMS | |
=head1 SYNOPSIS | |
use Mojolicious::Lite; | |
plugin 'EMS::Mojolicious::Utils'; | |
get '/action/*arg' => { arg => '' } => sub { | |
my $c = shift; | |
$c->render_text('server URL is: '.$c->server_url); | |
}; | |
=head1 DESCRIPTION | |
Various small Mojolicious utility helpers package. | |
Currently provides L</server_url>. | |
=cut | |
sub register { | |
my ($self, $app) = @_; | |
return if exists $app->renderer->helpers->{server_url}; | |
$app->helper(server_url => sub { | |
my $c = shift; | |
my $url = Mojo::URL->new; | |
$url->scheme(exists $ENV{HTTPS} ? 'https' : 'http'); | |
my ($host, $port) = split /:/, $ENV{HTTP_HOST}, 2; | |
$url->host($host); | |
$url->port($port); | |
$url->path('/'); | |
return $url; | |
}); | |
} | |
=head1 METHODS | |
=head2 server_url | |
Returns the base URL of the server the app is on as a L<Mojo::URL> object. | |
=head1 AUTHOR | |
Rafael Kitover <rkitover@amsreo.com> | |
=cut | |
__PACKAGE__; # End of EMS::Mojolicious::Utils |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment