예제 #1
0
        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));
                }
            }
        }
예제 #2
0
        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));
                }
            }
        }