public function __construct($mask, $metadata = [], $flags = 0)
{
if (is_string($metadata)) {
list($presenter, $action) = Helpers::splitName($metadata);
if (!$presenter) {
throw new Nette\InvalidArgumentException("Second argument must be array or string in format Presenter:action, '{$metadata}' given.");
}
$metadata = ['presenter' => $presenter];
if ($action !== '') {
$metadata['action'] = $action;
}
} elseif ($metadata instanceof \Closure) {
$metadata = ['presenter' => 'Nette:Micro', 'callback' => $metadata];
}
$this->flags = $flags | static::$defaultFlags;
$this->setMask($mask, $metadata);
if (static::$defaultFlags) {
trigger_error('Route::$defaultFlags is deprecated, router by default keeps the used protocol.', E_USER_DEPRECATED);
} elseif ($flags & self::SECURED) {
trigger_error('Router::SECURED is deprecated, specify scheme in mask.', E_USER_DEPRECATED);
$this->scheme = 'https';
}
}