- throw new Error(sprintf('Unable to write to: %s', $this->output), $token->getLine(), $stream->getSourceContext(), $e);
+ throw new Error(sprintf('Unable to write "%s"', $this->output), $token->getLine(), $stream->getSourceContext(), $e);
+ }
+
+ //Without output file mtime
+ if (($mtime = filemtime($this->output)) === false) {
+ //Throw error
+ throw new Error(sprintf('Unable to get "%s" mtime', $this->output), $token->getLine(), $stream->getSourceContext(), $e);
+ }
+
+ //TODO: get mimetype for images ? and set _format ?
+
+ try {
+ //Generate asset url
+ $asset = $this->router->generate($this->route, [ 'file' => $file, 'u' => $mtime ]);
+ //Catch router exceptions
+ } catch (RouteNotFoundException|MissingMandatoryParametersException|InvalidParameterException $e) {
+ //Throw error
+ throw new Error(sprintf('Unable to generate asset route "%s"', $this->route), $token->getLine(), $stream->getSourceContext(), $e);