private static HttpRequestInterceptionBuilder Build(string url, object user, bool ignoreQuery = false) { var builder = new HttpRequestInterceptionBuilder() .Requests().ForGet().ForUrl(url) .Responds().WithJsonContent(user); if (ignoreQuery) { builder.IgnoringQuery(); } return(builder); }
public static HttpRequestInterceptionBuilder FromItem( BundleItem item, IEnumerable <KeyValuePair <string, string> > templateValues) { // Override the template values in the JSON with any user-specified values if (item.TemplateValues?.Count > 0) { foreach (var pair in templateValues) { item.TemplateValues[pair.Key] = pair.Value; } } ValidateItem(item, out Uri uri, out Version version); var builder = new HttpRequestInterceptionBuilder().ForUri(uri); if (item.Method != null) { builder.ForMethod(new System.Net.Http.HttpMethod(item.Method)); } if (item.RequestHeaders?.Count > 0) { builder.ForRequestHeaders(TemplateHeaders(item.RequestHeaders, item.TemplateValues)); } if (version != null) { builder.WithVersion(version); } if (!string.IsNullOrEmpty(item.Status)) { if (!Enum.TryParse(item.Status, true, out HttpStatusCode httpStatusCode)) { throw new InvalidOperationException($"Bundle item with Id '{item.Id}' has an invalid HTTP status code '{item.Status}' configured."); } builder.WithStatus(httpStatusCode); } if (item.ResponseHeaders?.Count > 0) { builder.WithResponseHeaders(TemplateHeaders(item.ResponseHeaders, item.TemplateValues)); } if (item.ContentHeaders?.Count > 0) { builder.WithContentHeaders(TemplateHeaders(item.ContentHeaders, item.TemplateValues)); } if (item.Priority.HasValue) { builder.HavingPriority(item.Priority.Value); } if (item.IgnorePath) { builder.IgnoringPath(ignorePath: true); } if (item.IgnoreQuery) { builder.IgnoringQuery(ignoreQuery: true); } return(builder.SetContent(item)); }