-
Notifications
You must be signed in to change notification settings - Fork 151
Expand file tree
/
Copy pathHostRequest.ts
More file actions
94 lines (83 loc) · 1.98 KB
/
Copy pathHostRequest.ts
File metadata and controls
94 lines (83 loc) · 1.98 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
export enum HostBindingType {
HTTP = "HTTP",
HTTPS = "HTTPS",
}
export enum HostRouteType {
PROXY = "PROXY",
REDIRECT = "REDIRECT",
STATIC_RESPONSE = "STATIC_RESPONSE",
INTEGRATION = "INTEGRATION",
EXECUTE_CODE = "EXECUTE_CODE",
STATIC_FILES = "STATIC_FILES",
}
export enum HostRouteSourceCodeLanguage {
JAVASCRIPT = "JAVASCRIPT",
LUA = "LUA",
}
export interface HostFeatureSet {
websocketsSupport: boolean
http2Support: boolean
redirectHttpToHttps: boolean
statsEnabled: boolean
}
export interface HostBinding {
type: HostBindingType
ip: string
port: number
certificateId?: string
}
export interface HostRouteStaticResponse {
statusCode: number
payload?: string
headers?: Record<string, string>
}
export interface HostRouteSettings {
includeForwardHeaders: boolean
proxySslServerName: boolean
keepOriginalDomainName: boolean
directoryListingEnabled: boolean
indexFile?: string
custom?: string
}
export interface HostRouteSourceCode {
language: HostRouteSourceCodeLanguage
code: string
mainFunction?: string
}
export interface HostRoute {
priority: number
enabled: boolean
type: HostRouteType
sourcePath: string
settings: HostRouteSettings
targetUri?: string
response?: HostRouteStaticResponse
integration?: HostRouteIntegration
accessListId?: string
cacheId?: string
redirectCode?: number
sourceCode?: HostRouteSourceCode
}
export interface HostRouteIntegration {
integrationId: string
optionId: string
}
export interface HostVpn {
vpnId: string
name: string
host?: string
enableHttps: boolean
certificateId?: string
}
export default interface HostRequest {
enabled: boolean
defaultServer: boolean
useGlobalBindings: boolean
domainNames?: string[]
routes: HostRoute[]
bindings?: HostBinding[]
vpns: HostVpn[]
featureSet: HostFeatureSet
accessListId?: string
cacheId?: string
}