protected function defaultAction( ServerRequestInterface $request, ResponseInterface $response )
	{
		$status = 403;
		$view = $this->getView();

		$view->errors = array( array(
			'title' => $this->getContext()->getI18n()->dt( 'client/jsonapi', 'Not allowed for this resource' ),
		) );

		/** client/jsonapi/standard/template-error
		 * Relative path to the default JSON API template
		 *
		 * The template file contains the code and processing instructions
		 * to generate the result shown in the JSON API body. The
		 * configuration string is the path to the template file relative
		 * to the templates directory (usually in client/jsonapi/templates).
		 *
		 * You can overwrite the template file configuration in extensions and
		 * provide alternative templates. These alternative templates should be
		 * named like the default one but with the string "standard" replaced by
		 * an unique name. You may use the name of your project for this. If
		 * you've implemented an alternative client class as well, "standard"
		 * should be replaced by the name of the new class.
		 *
		 * @param string Relative path to the template creating the body for the JSON API response
		 * @since 2017.02
		 * @category Developer
		 * @see client/jsonapi/standard/template-delete
		 * @see client/jsonapi/standard/template-patch
		 * @see client/jsonapi/standard/template-post
		 * @see client/jsonapi/standard/template-get
		 * @see client/jsonapi/standard/template-options
		 */
		$tplconf = 'client/jsonapi/standard/template-error';
		$default = 'error-standard';

		$body = $view->render( $view->config( $tplconf, $default ) );

		return $response->withHeader( 'Content-Type', 'application/vnd.api+json' )
			->withBody( $view->response()->createStreamFromString( $body ) )
			->withStatus( $status );
	}