public IServiceStackHandler GetNotFoundHandler() { IServiceStackHandler httpHandler = null; CustomErrorHttpHandlers?.TryGetValue(HttpStatusCode.NotFound, out httpHandler); return(httpHandler ?? new NotFoundHttpHandler()); }
public IServiceStackHandler GetCustomErrorHandler(HttpStatusCode errorStatus) { IServiceStackHandler httpHandler = null; CustomErrorHttpHandlers?.TryGetValue(errorStatus, out httpHandler); return(httpHandler); }
public IServiceStackHandler GetCustomErrorHandler(HttpStatusCode errorStatus) { IServiceStackHandler httpHandler = null; if (CustomErrorHttpHandlers != null) { CustomErrorHttpHandlers.TryGetValue(errorStatus, out httpHandler); } return(httpHandler ?? Config.GlobalHtmlErrorHttpHandler); }
/// <summary> /// Application specific configuration /// This method should initialize any IoC resources utilized by your web service classes. /// </summary> /// <param name="container"></param> public override void Configure(Container container) { //Config examples //this.Plugins.Add(new PostmanFeature()); //Plugins.Add(new CorsFeature()); InitializeAppSettings(); SetConfig(new HostConfig { DebugMode = true, EmbeddedResourceBaseTypes = { typeof(AppHost), typeof(SharedEmbeddedResources) } }); JsConfig.EmitCamelCaseNames = true; Plugins.Add(new ServerEventsFeature()); SetConfig(new HostConfig { DebugMode = AppSettings.Get("DebugMode", false), DefaultContentType = MimeTypes.Json, AddRedirectParamsToQueryString = true, }); CustomErrorHttpHandlers.Remove(HttpStatusCode.Forbidden); //Register all Authentication methods you want to enable for this web app. Plugins.Add(new AuthFeature( () => new AuthUserSession(), new IAuthProvider[] { new TwitterAuthProvider(AppSettings) //Sign-in with Twitter })); container.RegisterAutoWiredAs <MemoryChatHistory, IChatHistory>(); var redisHost = AppSettings.GetString("RedisHost"); if (redisHost != null) { container.Register <IRedisClientsManager>(new RedisManagerPool(redisHost)); container.Register <IServerEvents>(c => new RedisServerEvents(c.Resolve <IRedisClientsManager>())); container.Resolve <IServerEvents>().Start(); } // This route is added using Routes.Add and ServiceController.RegisterService due to // using ILMerge limiting our AppHost : base() call to one assembly. // If two assemblies are used, the base() call searchs the same assembly twice due to the ILMerged result. Routes.Add <NativeHostAction>("/nativehost/{Action}"); ServiceController.RegisterService(typeof(NativeHostService)); }
/// <summary> /// Application specific configuration /// This method should initialize any IoC resources utilized by your web service classes. /// </summary> /// <param name="container"></param> public override void Configure(Container container) { //Config examples //this.Plugins.Add(new PostmanFeature()); //Plugins.Add(new CorsFeature()); JsConfig.EmitCamelCaseNames = true; Plugins.Add(new ServerEventsFeature()); Plugins.Add(new RazorFormat { LoadFromAssemblies = { typeof(CefResources).Assembly } }); MimeTypes.ExtensionMimeTypes["jsv"] = "text/jsv"; SetConfig(new HostConfig { DebugMode = AppSettings.Get("DebugMode", false), DefaultContentType = MimeTypes.Json, EmbeddedResourceBaseTypes = { typeof(AppHost), typeof(CefResources) } }); CustomErrorHttpHandlers.Remove(HttpStatusCode.Forbidden); //Register all Authentication methods you want to enable for this web app. Plugins.Add(new AuthFeature( () => new AuthUserSession(), new IAuthProvider[] { new TwitterAuthProvider(AppSettings) //Sign-in with Twitter })); container.RegisterAutoWiredAs <MemoryChatHistory, IChatHistory>(); var redisHost = AppSettings.GetString("RedisHost"); if (redisHost != null) { container.Register <IRedisClientsManager>(new RedisManagerPool(redisHost)); container.Register <IServerEvents>(c => new RedisServerEvents(c.Resolve <IRedisClientsManager>())); container.Resolve <IServerEvents>().Start(); } }
/// <summary> /// Application specific configuration /// This method should initialize any IoC resources utilized by your web service classes. /// </summary> /// <param name="container"></param> public override void Configure(Container container) { JsConfig.EmitCamelCaseNames = true; Plugins.Add(new ServerEventsFeature()); InitializeAppSettings(); Plugins.Add(new RazorFormat { LoadFromAssemblies = { typeof(CefResources).Assembly }, }); SetConfig(new HostConfig { DebugMode = AppSettings.Get("DebugMode", false), DefaultContentType = MimeTypes.Json, AllowFileExtensions = { "jsx" }, EmbeddedResourceBaseTypes = { typeof(AppHost), typeof(CefResources) }, }); Routes.Add <NativeHostAction>("/nativehost/{Action}"); ServiceController.RegisterService(typeof(NativeHostService)); CustomErrorHttpHandlers.Remove(HttpStatusCode.Forbidden); //Register all Authentication methods you want to enable for this web app. Plugins.Add(new AuthFeature( () => new AuthUserSession(), new IAuthProvider[] { new TwitterAuthProvider(AppSettings) //Sign-in with Twitter })); container.RegisterAutoWiredAs <MemoryChatHistory, IChatHistory>(); var redisHost = AppSettings.GetString("RedisHost"); if (redisHost != null) { container.Register <IRedisClientsManager>(new RedisManagerPool(redisHost)); container.Register <IServerEvents>(c => new RedisServerEvents(c.Resolve <IRedisClientsManager>())); container.Resolve <IServerEvents>().Start(); } }
public IServiceStackHandler GetHandlerForErrorStatus(HttpStatusCode errorStatus) { var httpHandler = GetCustomErrorHandler(errorStatus); switch (errorStatus) { case HttpStatusCode.Forbidden: return(httpHandler ?? new ForbiddenHttpHandler()); case HttpStatusCode.NotFound: return(httpHandler ?? new NotFoundHttpHandler()); } if (CustomErrorHttpHandlers != null) { CustomErrorHttpHandlers.TryGetValue(HttpStatusCode.NotFound, out httpHandler); } return(httpHandler ?? new NotFoundHttpHandler()); }