Esempio n. 1
0
        public IDbConnection GetDb <From>(IRequest req = null)
        {
            if (Db != null)
            {
                return(Db);
            }

            var namedConnection = UseNamedConnection;
            var attr            = typeof(From).FirstAttribute <NamedConnectionAttribute>();

            if (attr != null)
            {
                namedConnection = attr.Name;
            }

            Db = namedConnection == null
                ? HostContext.AppHost.GetDbConnection(req)
                : HostContext.TryResolve <IDbConnectionFactory>().OpenDbConnection(namedConnection);

            return(Db);
        }
Esempio n. 2
0
        /// <summary>
        /// End a HttpHandler Request
        /// </summary>
        public static void EndHttpHandlerRequest(this IResponse httpRes, bool skipHeaders = false, bool skipClose = false, Action <IResponse> afterHeaders = null)
        {
            if (!skipHeaders)
            {
                httpRes.ApplyGlobalResponseHeaders();
            }

            afterHeaders?.Invoke(httpRes);

            var req = httpRes.Request;

            if (req != null && !req.Items.ContainsKey(Keywords.HasLogged))
            {
                HostContext.TryResolve <IRequestLogger>()?.Log(req, req.Dto, httpRes.Dto, TimeSpan.Zero);
            }

            if (!skipClose && !httpRes.IsClosed)
            {
                httpRes.Close();
            }

            HostContext.CompleteRequest(req);
        }
Esempio n. 3
0
        public static async Task EndHttpHandlerRequestAsync(this IResponse httpRes, bool skipHeaders = false, bool skipClose = false, Func <IResponse, Task> afterHeaders = null)
        {
            //if (!skipHeaders) httpRes.ApplyGlobalResponseHeaders();

            if (afterHeaders != null)
            {
                await afterHeaders(httpRes);
            }

            var req = httpRes.Request;

            if (req != null && !req.Items.ContainsKey(Keywords.HasLogged))
            {
                HostContext.TryResolve <IRequestLogger>()?.Log(req, req.Dto, httpRes.Dto, TimeSpan.Zero);
            }

            if (!skipClose && !httpRes.IsClosed)
            {
                await httpRes.CloseAsync();
            }

            HostContext.CompleteRequest(req);
        }
Esempio n. 4
0
        public static string GetProfileUrl(this IAuthSession authSession, string defaultUrl = null)
        {
            var profile = HostContext.TryResolve <IAuthMetadataProvider>();

            return(profile == null ? defaultUrl : profile.GetProfileUrl(authSession, defaultUrl));
        }
Esempio n. 5
0
 public MetadataTypesGenerator GetGenerator() =>
 (HostContext.TryResolve <INativeTypesMetadata>() ??
  new NativeTypesMetadata(HostContext.AppHost.Metadata, MetadataTypesConfig))
 .GetGenerator();