public static async Task DmcSessionExitHeartbeatAsync( NiconicoContext context, DmcWatchResponse watch, DmcSessionResponse sessionRes ) { var session = watch.Media.Delivery.Movie.Session; var sessionUrl = $"{session.Urls[0].UrlUnsafe}/{sessionRes.Data.Session.Id}?_format=json&_method=DELETE"; var message = new HttpRequestMessage(HttpMethod.Post, new Uri(sessionUrl)); message.Headers.Add("Access-Control-Request-Method", "POST"); message.Headers.Add("Access-Control-Request-Headers", "content-type"); message.Headers.UserAgent.Add(context.HttpClient.DefaultRequestHeaders.UserAgent.First()); message.Headers.Add("Accept", "application/json"); var requestJson = JsonConvert.SerializeObject(sessionRes.Data, new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore }); #if WINDOWS_UWP message.Content = new HttpStringContent(requestJson, Windows.Storage.Streams.UnicodeEncoding.Utf8, "application/json"); #else message.Content = new StringContent(requestJson, UnicodeEncoding.UTF8, "application/json"); #endif var result = await context.SendAsync(message, HttpCompletionOption.ResponseHeadersRead); if (!result.IsSuccessStatusCode) { System.Diagnostics.Debug.WriteLine(result.ToString()); } }
public Task DmcSessionExitHeartbeatAsync( Dmc.DmcWatchResponse watch, Dmc.DmcSessionResponse sessionRes ) { return(Dmc.DmcClient.DmcSessionExitHeartbeatAsync(_context, watch, sessionRes)); }
public static async Task DmcSessionFirstHeartbeatAsync( NiconicoContext context, DmcWatchResponse watch, DmcSessionResponse sessionRes ) { var session = watch.Media.Delivery.Movie.Session; var sessionUrl = $"{session.Urls[0].UrlUnsafe}/{sessionRes.Data.Session.Id}?_format=json&_method=PUT"; var message = new HttpRequestMessage(HttpMethod.Options, new Uri(sessionUrl)); message.Headers.Add("Access-Control-Request-Method", "POST"); message.Headers.Add("Access-Control-Request-Headers", "content-type"); #if WINDOWS_UWP message.Headers.UserAgent.Add(context.HttpClient.DefaultRequestHeaders.UserAgent.First()); #else message.Headers.UserAgent.Add(context.HttpClient.DefaultRequestHeaders.UserAgent.First()); #endif var result = await context.SendAsync(message, HttpCompletionOption.ResponseHeadersRead); if (!result.IsSuccessStatusCode) { System.Diagnostics.Debug.WriteLine(result.ToString()); } }
public Task DmcSessionLeaveAsync( Dmc.DmcWatchResponse watch, Dmc.DmcSessionResponse sessionRes ) { return(Dmc.DmcClient.DmcSessionLeaveAsync(_context, watch, sessionRes)); }