async Task <JObject> FetchMissingPage(string pageUri) { HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync(pageUri); Stream stream = await response.Content.ReadAsStreamAsync(); using (var textReader = new StreamReader(stream)) { using (var jsonReader = new JsonSkipReader(new JsonTextReader(textReader), RegistrationPageJsonPathToSkip())) { return(JObject.Load(jsonReader)); } } }
async Task InterceptRegistrationIndex(string remoteResourceId, IOwinContext context) { HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync(remoteResourceId); Stream stream = await response.Content.ReadAsStreamAsync(); using (var textReader = new StreamReader(stream)) { using (var jsonReader = new JsonSkipReader(new JsonTextReader(textReader), RegistrationIndexJsonPathToSkip())) { var obj = JObject.Load(jsonReader); await InlineRegistration(obj); context.Response.ContentType = response.Content.Headers.ContentType.MediaType; context.Response.StatusCode = (int)HttpStatusCode.OK; await context.Response.WriteAsync(obj.ToString(Formatting.None)); } } }