/// <summary> /// Maps a wildcard in a service operation to a new URI. /// </summary> /// <param name="operation">The service operation.</param> /// <param name="uri">The replacement URI.</param> /// <returns>The mapped operation.</returns> public static ServiceOperation MapWildcard(this ServiceOperation operation, Uri uri) { if (operation == null) { throw new ArgumentNullException(nameof(operation)); } if (uri == null) { throw new ArgumentNullException(nameof(uri)); } var rewriter = new ServiceOperationUriRewriter(u => u.IsWildcard() ? uri : u); return(rewriter.Visit(operation)); }
/// <summary> /// Maps a URI in a service operation to a new URI. /// </summary> /// <param name="operation">The service operation.</param> /// <param name="original">The original URI.</param> /// <param name="replacement">The replacement URI.</param> /// <returns>The mapped operation.</returns> public static ServiceOperation Map(this ServiceOperation operation, Uri original, Uri replacement) { if (operation == null) { throw new ArgumentNullException(nameof(operation)); } if (original == null) { throw new ArgumentNullException(nameof(original)); } if (replacement == null) { throw new ArgumentNullException(nameof(replacement)); } var rewriter = new ServiceOperationUriRewriter(u => u == original ? replacement : u); return(rewriter.Visit(operation)); }