- $this->parameters = [];
-
- // Check if the HTTP method is OPTIONS and return the special Options Module with the possible HTTP methods
- if ($this->args->getMethod() === static::OPTIONS) {
- $moduleClass = Options::class;
- $this->parameters = ['allowedMethods' => $dispatcher->getOptions($cmd)];
- } else {
- $routeInfo = $dispatcher->dispatch($this->args->getMethod(), $cmd);
- if ($routeInfo[0] === Dispatcher::FOUND) {
- $moduleClass = $routeInfo[1];
- $this->parameters = $routeInfo[2];
- } elseif ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) {
- throw new HTTPException\MethodNotAllowedException($this->l10n->t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1])));
+ try {
+ // Check if the HTTP method is OPTIONS and return the special Options Module with the possible HTTP methods
+ if ($this->args->getMethod() === static::OPTIONS) {
+ $this->moduleClass = Options::class;
+ $this->parameters[] = ['AllowedMethods' => $dispatcher->getOptions($cmd)];