NAME
    Mojolicious::Plugin::RequestBase - Support setting base in frontend
    proxy

SYNOPSIS
  Frontend proxy
    The "X-Request-Base" header must be set in the frontend proxy.

      # nxinx
      proxy_set_header X-Request-Base "https://example.com/myapp";
      # or
      proxy_set_header X-Request-Base "/myapp";

  Application
    This plugin will read the "X-Request-Base" header.

      # Mojolicious
      $app->plugin("RequestBase");

      # Mojolicious::Lite
      plugin "RequestBase";

  Controller
    URL generating helpers, such as url_for will create the correct URL
    using the base URL from "X-Request-Base".

    Here are example with "X-Request-Base" set to
    "https://example.com/myapp" and a request sent to Request to
    "https://example.com/myapp/foo":

      # /myapp/foo
      $c->url_for;

      # https://example.com/myapp/foo
      $c->url_for->to_abs;

      # https://example.com/myapp/some/path
      $c->url_for("/some/path")->to_abs;

      # https://example.com/foo (Probably not what you want)
      $c->req->url->to_abs;

  Hooks
  before_dispatch
    In a before_dispatch the router has not yet started, so you need to pass
    in the request path to get the expected result:

      hook before_dispatch => sub {
        my $c = shift;

        # https://example.com/myapp/foo
        $c->url_for($c->req->url->path)->to_abs;

        # https://example.com/foo (Probably not what you want)
        $c->url_for->to_abs;
      };

DESCRIPTION
    Simple plugin to support Request Base header. Just load it and set
    X-Request-Base in your Frontend Proxy. For instance, if you are using
    nginx you could use it like this:

      proxy_set_header X-Request-Base 'https://example.com/myapp';

    Note that you can also pass a relative URL to retain the original
    hostname provided by the proxy.

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

  register
      $plugin->register;

    Register plugin in Mojolicious application.

SEE ALSO
    Catalyst::TraitFor::Request::ProxyBase, Mojolicious,
    Mojolicious::Guides, <http://mojolicio.us>.

COPYRIGHT AND LICENSE
    Copyright (C) 2011, Marcus Ramberg.

    This program is free software, you can redistribute it and/or modify it
    under the terms of the Artistic License version 2.0.