---
name: "Mojolicious::Plugin::HeaderCondition"
section: "3pm"
platform: "linux"
package: "libmojolicious-perl"
version: "9.39+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mojolicious::Plugin::HeaderCondition"
---

# Mojolicious::Plugin::HeaderCondition(3pm)

Header condition plugin

## NAME

Mojolicious::Plugin::HeaderCondition - Header condition plugin

## SYNOPSIS

```
  # Mojolicious
  $app->plugin('HeaderCondition');
  $app->routes->get('/foo')->requires(headers => {Referer => qr/example\.com/});
  # Mojolicious::Lite
  plugin 'HeaderCondition';
  get '/' => (headers => {Referer => qr/example\.com/}) => sub {...};
  # All headers need to match
  $app->routes->get('/foo')->requires(headers => {
    'X-Secret-Header' => 'Foo',
    Referer => qr/example\.com/
  });
  # The "agent" condition is a shortcut for the "User-Agent" header
  get '/' => (agent => qr/Firefox/) => sub {...};
  # The "host" condition is a shortcut for the detected host
  get '/' => (host => qr/mojolicious\.org/) => sub {...};
```

## DESCRIPTION

Mojolicious::Plugin::HeaderCondition is a route condition for header-based routes.

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.

## METHODS

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

### register

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

Register conditions in Mojolicious application.

## SEE ALSO

Mojolicious, Mojolicious::Guides, \<https://mojolicious.org\>.
