/// <summary> /// Sends a request to get all cookies matching filter, and resolves a callack with the response. /// </summary> /// <param name="filter"> /// </param> /// <returns>A task which resolves an array of cookie objects.</returns> public Task <Cookie[]> GetAsync(CookieFilter filter) { var taskCompletionSource = new TaskCompletionSource <Cookie[]>(TaskCreationOptions.RunContinuationsAsynchronously); string guid = Guid.NewGuid().ToString(); BridgeConnector.On <Cookie[]>("webContents-session-cookies-get-completed" + guid, (cookies) => { BridgeConnector.Off("webContents-session-cookies-get-completed" + guid); taskCompletionSource.SetResult(cookies); }); BridgeConnector.Emit("webContents-session-cookies-get", Id, filter, guid); return(taskCompletionSource.Task); }
/// <summary> /// Get the value of the object with the specific filter /// </summary> /// <param name="currentPrincipal">User Principal/Identity</param> /// <param name="userFilter">User Filter</param> /// <returns>returns an object value</returns> private static object GetUserData(IPrincipal currentPrincipal, CookieFilter filter) { switch (filter) { case CookieFilter.Id: return(currentPrincipal.GetClaimValue(ClaimTypes.Name)); case CookieFilter.Token: return(currentPrincipal.GetClaimValue("IdToken")); case CookieFilter.StreamToken: return(currentPrincipal.GetClaimValue("StreamToken")); } return(null); }
/// <summary> /// Sends a request to get all cookies matching filter, and resolves a callack with the response. /// </summary> /// <param name="filter"> /// </param> /// <returns>A task which resolves an array of cookie objects.</returns> public Task <Cookie[]> GetAsync(CookieFilter filter) { var taskCompletionSource = new TaskCompletionSource <Cookie[]>(); string guid = Guid.NewGuid().ToString(); BridgeConnector.Socket.On("webContents-session-cookies-get-completed" + guid, (cookies) => { Cookie[] result = ((JArray)cookies).ToObject <Cookie[]>(); BridgeConnector.Socket.Off("webContents-session-cookies-get-completed" + guid); taskCompletionSource.SetResult(result); }); BridgeConnector.Socket.Emit("webContents-session-cookies-get", Id, JObject.FromObject(filter, _jsonSerializer), guid); return(taskCompletionSource.Task); }