Esempio n. 1
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }