Exemple #1
0
        public void TryCatchTest()
        {
            {
                var onErrorMock = new Mock <Func <Exception, string> >();

                var result = FlowUtil.TryCatch(
                    () => expectedResult,
                    onErrorMock.Object);

                Assert.AreEqual(expectedResult, result);
                onErrorMock.VerifyNoOtherCalls();
            }

            {
                var onErrorMock = new Mock <Func <Exception, string> >();

                var result = FlowUtil.TryCatch(
                    () => throw new Exception(),
                    onErrorMock.Object);

                Assert.IsNull(result);
                onErrorMock.Verify(f => f.Invoke(It.IsAny <Exception>()));
            }

            {
                var onErrorMock = new Mock <Func <Exception, string> >();

                var result = FlowUtil.TryCatch(
                    () => expectedResult,
                    onErrorMock.Object);

                Assert.AreEqual(expectedResult, result);
                onErrorMock.VerifyNoOtherCalls();
            }

            {
                var onErrorMock = new Mock <Func <Exception, string> >();

                var result = FlowUtil.TryCatch(
                    () => throw new Exception(),
                    onErrorMock.Object);

                Assert.IsNull(result);
                onErrorMock.Verify(f => f.Invoke(It.IsAny <Exception>()));
            }
        }
Exemple #2
0
        private async Task <AuthClaims> TryGetAuthClaims(ActionExecutingContext ctx)
        {
            var ok = ctx.HttpContext.Request.Cookies.TryGetValue(Constants.SessionCookieName, out var token);

            if (ok && !string.IsNullOrEmpty(token))
            {
                return(FlowUtil.TryCatch(
                           () => authorization.ValidateSessionKey(token),
                           (_) => null));
            }

            ok = ctx.HttpContext.Request.Headers.TryGetValue("authorization", out var authHeaderValue);
            if (!ok)
            {
                return(null);
            }

            var ahvStr = authHeaderValue.ToString();

            if (ahvStr.ToString().StartsWith("session "))
            {
                return(FlowUtil.TryCatch(
                           () => authorization.ValidateSessionKey(ahvStr[8..]),