Exemple #1
0
 /// <summary>
 /// <see cref="RecordingSessionInterceptorRequestBuilder"/> that plays back
 /// <paramref name="recordingSessions"/>!
 /// <para />
 /// Based on <paramref name="requestNotFoundBehavior"/>, either initializes <see cref="RequestNotFoundResponseBuilder"/>
 /// to return a 404 response (<see cref="RequestNotFoundBehavior.Return404"/>) or passes through the request
 /// to get a live response (<see cref="RequestNotFoundBehavior.PassThrough"/>).
 /// </summary>
 public RecordingSessionInterceptorRequestBuilder(
     RequestNotFoundBehavior requestNotFoundBehavior,
     params RecordingSession[] recordingSessions)
     : this(
         req => DefaultRequestNotFoundResponseBuilder(req, requestNotFoundBehavior),
         recordingSessions)
 {
 }
Exemple #2
0
        /// <remarks>
        /// This is static so it can be referenced in constructor chaining
        /// </remarks>
        private static HttpWebResponse DefaultRequestNotFoundResponseBuilder(
            InterceptedRequest interceptedRequest,
            RequestNotFoundBehavior behavior)
        {
            switch (behavior)
            {
            case RequestNotFoundBehavior.PassThrough:
                return(interceptedRequest.PassThroughResponse());

            case RequestNotFoundBehavior.Return404:
                return(interceptedRequest
                       .HttpWebResponseCreator.Create(
                           $"Request not found in {nameof(RecordedRequests)}",
                           HttpStatusCode.NotFound));

            default:
                throw new InvalidEnumArgumentException(
                          $"Don't know how to handle behavior [{Enum.GetName(typeof(RequestNotFoundBehavior), behavior)}].  " +
                          $"This is a bug in the {nameof(HttpWebRequestWrapper)} library.");
            }
        }