diff --git a/aio/content/guide/deprecations.md b/aio/content/guide/deprecations.md index c979e95423b12..9485e9f8dbf1c 100644 --- a/aio/content/guide/deprecations.md +++ b/aio/content/guide/deprecations.md @@ -436,7 +436,6 @@ available in `RouterModule.forRoot` or `provideRouter` and `withRouterConfig`. * `errorHandler` The following options are deprecated in entirely: -* `malformedUriErrorHandler` - URI parsing errors should be handled in the `UrlSerializer` instead. * `errorHandler` - Subscribe to the `Router` events and filter for `NavigationError` instead. diff --git a/goldens/public-api/router/index.md b/goldens/public-api/router/index.md index a741b84034726..f0e98595fd015 100644 --- a/goldens/public-api/router/index.md +++ b/goldens/public-api/router/index.md @@ -300,8 +300,6 @@ export interface ExtraOptions extends InMemoryScrollingOptions, RouterConfigOpti // @deprecated errorHandler?: (error: any) => any; initialNavigation?: InitialNavigation; - // @deprecated - malformedUriErrorHandler?: (error: URIError, urlSerializer: UrlSerializer, url: string) => UrlTree; preloadingStrategy?: any; scrollOffset?: [number, number] | (() => [number, number]); useHash?: boolean; diff --git a/packages/core/test/bundling/router/bundle.golden_symbols.json b/packages/core/test/bundling/router/bundle.golden_symbols.json index 8127bc706237e..a87022925a60c 100644 --- a/packages/core/test/bundling/router/bundle.golden_symbols.json +++ b/packages/core/test/bundling/router/bundle.golden_symbols.json @@ -1085,9 +1085,6 @@ { "name": "defaultIfEmpty" }, - { - "name": "defaultMalformedUriErrorHandler" - }, { "name": "defaultUrlMatcher" }, diff --git a/packages/router/src/router.ts b/packages/router/src/router.ts index ac226286b7c46..8f5eb6dc87f7f 100644 --- a/packages/router/src/router.ts +++ b/packages/router/src/router.ts @@ -32,11 +32,6 @@ function defaultErrorHandler(error: any): never { throw error; } -function defaultMalformedUriErrorHandler( - error: URIError, urlSerializer: UrlSerializer, url: string): UrlTree { - return urlSerializer.parse('/'); -} - /** * The equivalent `IsActiveMatchOptions` options for `Router.isActive` is called with `true` * (exact = true). @@ -128,17 +123,6 @@ export class Router { */ errorHandler: (error: any) => any = this.options.errorHandler || defaultErrorHandler; - /** - * A handler for errors thrown by `Router.parseUrl(url)` - * when `url` contains an invalid character. - * The most common case is a `%` sign - * that's not encoded and is not part of a percent encoded sequence. - * - * @see {@link RouterModule} - */ - private malformedUriErrorHandler = - this.options.malformedUriErrorHandler || defaultMalformedUriErrorHandler; - /** * True if at least one navigation event has occurred, * false otherwise. @@ -550,13 +534,11 @@ export class Router { /** Parses a string into a `UrlTree` */ parseUrl(url: string): UrlTree { - let urlTree: UrlTree; try { - urlTree = this.urlSerializer.parse(url); - } catch (e) { - urlTree = this.malformedUriErrorHandler(e as URIError, this.urlSerializer, url); + return this.urlSerializer.parse(url); + } catch { + return this.urlSerializer.parse('/'); } - return urlTree; } /** diff --git a/packages/router/src/router_config.ts b/packages/router/src/router_config.ts index b18b67bd868d2..2cc080259d28d 100644 --- a/packages/router/src/router_config.ts +++ b/packages/router/src/router_config.ts @@ -237,21 +237,6 @@ export interface ExtraOptions extends InMemoryScrollingOptions, RouterConfigOpti * it restores scroll position. */ scrollOffset?: [number, number]|(() => [number, number]); - - /** - * A custom handler for malformed URI errors. The handler is invoked when `encodedURI` contains - * invalid character sequences. - * The default implementation is to redirect to the root URL, dropping - * any path or parameter information. The function takes three parameters: - * - * - `'URIError'` - Error thrown when parsing a bad URL. - * - `'UrlSerializer'` - UrlSerializer that’s configured with the router. - * - `'url'` - The malformed URL that caused the URIError - * - * @deprecated URI parsing errors should be handled in the `UrlSerializer` instead. - * */ - malformedUriErrorHandler?: - (error: URIError, urlSerializer: UrlSerializer, url: string) => UrlTree; } /**