Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <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));
        }