forked from ServiceStack/ServiceStack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBasicAppHost.cs
More file actions
53 lines (44 loc) · 1.45 KB
/
Copy pathBasicAppHost.cs
File metadata and controls
53 lines (44 loc) · 1.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.Reflection;
using Funq;
using ServiceStack.Host;
using ServiceStack.Web;
namespace ServiceStack.Testing
{
public class BasicAppHost : ServiceStackHost
{
public BasicAppHost(params Assembly[] serviceAssemblies)
: base(typeof (BasicAppHost).GetOperationName(),
serviceAssemblies.Length > 0 ? serviceAssemblies : new[]
{
#if !NETSTANDARD2_0
Assembly.GetExecutingAssembly()
#else
typeof(BasicAppHost).GetTypeInfo().Assembly
#endif
})
{
this.TestMode = true;
Plugins.Clear();
}
public override void Configure(Container container)
{
ConfigureAppHost?.Invoke(this);
ConfigureContainer?.Invoke(container);
}
public Action<Container> ConfigureContainer { get; set; }
public Action<BasicAppHost> ConfigureAppHost { get; set; }
public Action<HostConfig> ConfigFilter { get; set; }
public Func<BasicAppHost, ServiceController> UseServiceController
{
set => ServiceController = value(this);
}
public override IServiceGateway GetServiceGateway(IRequest req) =>
base.GetServiceGateway(req ?? new BasicRequest());
public override void OnConfigLoad()
{
base.OnConfigLoad();
ConfigFilter?.Invoke(Config);
}
}
}