forked from ServiceStack/ServiceStack
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNativeTypesFeature.cs
More file actions
75 lines (71 loc) · 2.65 KB
/
NativeTypesFeature.cs
File metadata and controls
75 lines (71 loc) · 2.65 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack.DataAnnotations;
using ServiceStack.NativeTypes;
namespace ServiceStack
{
public class NativeTypesFeature : IPlugin
{
public MetadataTypesConfig MetadataTypesConfig { get; set; }
public NativeTypesFeature()
{
MetadataTypesConfig = new MetadataTypesConfig
{
AddDefaultXmlNamespace = HostConfig.DefaultWsdlNamespace,
ExportAttributes = new HashSet<Type>
{
typeof(FlagsAttribute),
typeof(ApiAttribute),
typeof(ApiResponseAttribute),
typeof(ApiMemberAttribute),
typeof(StringLengthAttribute),
typeof(DefaultAttribute),
typeof(IgnoreAttribute),
typeof(IgnoreDataMemberAttribute),
typeof(MetaAttribute),
typeof(RequiredAttribute),
typeof(ReferencesAttribute),
typeof(StringLengthAttribute),
typeof(AutoQueryViewerAttribute),
typeof(AutoQueryViewerFieldAttribute),
},
IgnoreTypes = new HashSet<Type>
{
},
IgnoreTypesInNamespaces = new List<string>
{
"ServiceStack",
"ServiceStack.Auth",
"ServiceStack.Caching",
"ServiceStack.Configuration",
"ServiceStack.Data",
"ServiceStack.IO",
"ServiceStack.Logging",
"ServiceStack.Messaging",
"ServiceStack.Model",
"ServiceStack.Redis",
"ServiceStack.Web",
"ServiceStack.Admin",
"ServiceStack.NativeTypes",
"ServiceStack.Api.Swagger",
},
DefaultNamespaces = new List<string>
{
"System",
"System.Collections",
"System.Collections.Generic",
"System.Runtime.Serialization",
"ServiceStack",
"ServiceStack.DataAnnotations",
},
};
}
public void Register(IAppHost appHost)
{
appHost.Register<INativeTypesMetadata>(
new NativeTypesMetadata(appHost.Metadata, MetadataTypesConfig));
appHost.RegisterService<NativeTypesService>();
}
}
}