From f1115daab940138fbcc5344f9967f753ae638c5f Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Wed, 27 Jul 2016 10:44:41 +0200 Subject: [PATCH] display the resulting json --- testOauthClient/Controllers/HomeController.cs | 81 ++++++++++++------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/testOauthClient/Controllers/HomeController.cs b/testOauthClient/Controllers/HomeController.cs index 09471c4d..b9f94e15 100755 --- a/testOauthClient/Controllers/HomeController.cs +++ b/testOauthClient/Controllers/HomeController.cs @@ -1,15 +1,22 @@ using System; +using System.Json; using System.Net.Http; using System.Net.Http.Headers; using System.Threading; using System.Threading.Tasks; using Microsoft.AspNet.Mvc; +using Microsoft.Extensions.Logging; using Yavsc.Helpers; namespace testOauthClient.Controllers { public class HomeController : Controller { + ILogger _logger; + public HomeController(ILoggerFactory loggerFactory) + { + _logger=loggerFactory.CreateLogger(); + } [HttpGet] public IActionResult Index() { @@ -18,10 +25,11 @@ namespace testOauthClient.Controllers [HttpPost] public async Task GetUserInfo(CancellationToken cancellationToken) { - using (var client = new HttpClient()) { + using (var client = new HttpClient()) + { var request = new HttpRequestMessage(HttpMethod.Get, "http://dev.pschneider.fr/api/me"); request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); - + var response = await client.SendAsync(request, cancellationToken); response.EnsureSuccessStatusCode(); @@ -30,38 +38,55 @@ namespace testOauthClient.Controllers } } - + [HttpPost] public async Task PostDeviceInfo(CancellationToken cancellationToken) { - /* using (var client = new HttpClient()) { - var request = new HttpRequestMessage(HttpMethod.Post, "http://dev.pschneider.fr/api/gcm/register"); - - request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); - var json = JsonConvert. - SerializeObject(new Yavsc.Models.Identity.GoogleCloudMobileDeclaration { DeviceId= "devid01", GCMRegistrationId = "1234" } ); - var content = new StringContent(json, Encoding.UTF8, "application/json"); - var response = await client.SendAsync(request, cancellationToken); - response.EnsureSuccessStatusCode(); + /* + using (var client = new HttpClient()) { + var request = new HttpRequestMessage(HttpMethod.Post, "http://dev.pschneider.fr/api/gcm/register"); - return View("Index", model: await response.Content.ReadAsStringAsync()); - }*/ - var res = await new SimpleJsonPostMethod( - "http://dev.pschneider.fr/api/gcm/register", - "Authorization: Bearer "+AccessToken).InvokeJson( new { - GCMRegistrationId = "testGoogleRegistrationIdValue", - DeviceId = "TestDeviceId", - Model = "TestModel", - Platform = "External Web", - Version = "0.0.1-rc1" - } ); - return Json(res); + request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", AccessToken); + var json = JsonConvert. + SerializeObject(new Yavsc.Models.Identity.GoogleCloudMobileDeclaration { DeviceId= "devid01", GCMRegistrationId = "1234" } ); + var content = new StringContent(json, Encoding.UTF8, "application/json"); + var response = await client.SendAsync(request, cancellationToken); + response.EnsureSuccessStatusCode(); + + return View("Index", model: await response.Content.ReadAsStringAsync()); + }*/ + JsonValue result = null; + var authHeader = $"Bearer {AccessToken}"; + _logger.LogWarning($"using authorization Header {authHeader}"); + try { + + + using (var request = new SimpleJsonPostMethod( + "http://dev.pschneider.fr/api/gcm/register", authHeader)) + { + result = await request.InvokeJson(new + { + GCMRegistrationId = "testGoogleRegistrationIdValue", + DeviceId = "TestDeviceId", + Model = "TestModel", + Platform = "External Web", + Version = "0.0.1-rc1" + }); + } + } + catch (Exception ex) { + return View("Index", model: new { error = ex.Message }); + } + return View("Index", model: result?.ToString()); } - - protected string AccessToken { - get { + + protected string AccessToken + { + get + { var claim = HttpContext.User?.FindFirst("access_token"); - if (claim == null) { + if (claim == null) + { throw new InvalidOperationException("no access_token"); }