diff --git a/web/src/views/website/EditView.vue b/web/src/views/website/EditView.vue
index e45fb0bc..392a8c4b 100644
--- a/web/src/views/website/EditView.vue
+++ b/web/src/views/website/EditView.vue
@@ -969,10 +969,12 @@ const removeCustomConfig = (index: number) => {
(upstream.keepalive = v ?? 0)"
/>
@@ -1166,453 +1168,48 @@ const removeCustomConfig = (index: number) => {
-
-
- {{ $gettext('Cache Settings') }}
-
-
-
-
-
- {
- const newCodes = (e.target as HTMLInputElement).value
- const oldCodes = String(codes)
- if (newCodes && newCodes !== oldCodes && proxy.cache?.valid) {
- proxy.cache.valid[newCodes] = proxy.cache.valid[oldCodes]
- delete proxy.cache.valid[oldCodes]
- }
- }
- "
- />
- =
- {
- if (proxy.cache?.valid) proxy.cache.valid[String(codes)] = v
- }
- "
- />
-
- {{ $gettext('Remove') }}
-
-
-
- {{ $gettext('Add Cache Valid Rule') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $gettext('Custom Request Headers') }}
-
-
+
+
+
- {
- const newName = (e.target as HTMLInputElement).value
- const oldName = String(headerName)
- if (newName && newName !== oldName) {
- proxy.headers[newName] = proxy.headers[oldName]
- delete proxy.headers[oldName]
- }
- }
- "
- />
- =
- (proxy.headers[String(headerName)] = v)"
- />
-
- {{ $gettext('Remove') }}
-
-
- {
- if (!proxy.headers) proxy.headers = {}
- proxy.headers[`X-Custom-${Object.keys(proxy.headers).length}`] = ''
- }
- "
- >
- {{ $gettext('Add Request Header') }}
-
-
- {{ $gettext('Response Content Replacement') }}
-
-
- {
- const newFrom = (e.target as HTMLInputElement).value
- const oldFrom = String(fromValue)
- if (newFrom && newFrom !== oldFrom) {
- proxy.replaces[newFrom] = proxy.replaces[oldFrom]
- delete proxy.replaces[oldFrom]
- }
- }
- "
- />
- =>
- (proxy.replaces[String(fromValue)] = v)"
- />
-
- {{ $gettext('Remove') }}
-
-
- {
- if (!proxy.replaces) proxy.replaces = {}
- proxy.replaces[`/old_${Object.keys(proxy.replaces).length}`] = '/new'
- }
- "
- >
- {{ $gettext('Add Replacement Rule') }}
-
-
-
-
-
- {{ $gettext('Advanced Settings') }}
-
-
-
-
-
-
-
-
-
- updateClientMaxBodySizeValue(proxy, v)"
- />
- updateClientMaxBodySizeUnit(proxy, v)"
- />
-
-
-
-
-
- toggleProxyTimeout(proxy, v)"
- />
-
-
-
-
-
-
-
- updateProxyTimeoutValue(proxy, 'connect', v)"
- />
- updateProxyTimeoutUnit(proxy, 'connect', v)"
- />
-
-
-
-
- updateProxyTimeoutValue(proxy, 'read', v)"
- />
- updateProxyTimeoutUnit(proxy, 'read', v)"
- />
-
-
-
-
- updateProxyTimeoutValue(proxy, 'send', v)"
- />
- updateProxyTimeoutUnit(proxy, 'send', v)"
- />
-
-
-
-
-
-
-
-
- toggleProxyRetry(proxy, v)"
- />
-
-
-
-
- toggleProxySSLBackend(proxy, v)"
- />
-
-
-
-
- toggleProxyResponseHeaders(proxy, v)"
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- updateRetryTimeoutValue(proxy, v)"
- />
- updateRetryTimeoutUnit(proxy, v)"
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
{
- const newName = (e.target as HTMLInputElement).value
- const oldName = String(headerName)
- if (newName && newName !== oldName) {
- proxy.response_headers.add[newName] =
- proxy.response_headers.add[oldName]
- delete proxy.response_headers.add[oldName]
+ const newCodes = (e.target as HTMLInputElement).value
+ const oldCodes = String(codes)
+ if (newCodes && newCodes !== oldCodes && proxy.cache?.valid) {
+ proxy.cache.valid[newCodes] = proxy.cache.valid[oldCodes]
+ delete proxy.cache.valid[oldCodes]
}
}
"
/>
=
(proxy.response_headers.add[String(headerName)] = v)
+ (v: string) => {
+ if (proxy.cache?.valid) proxy.cache.valid[String(codes)] = v
+ }
"
/>
{
secondary
size="small"
flex-shrink-0
- @click="delete proxy.response_headers.add[String(headerName)]"
+ @click="removeCacheValidRule(proxy, String(codes))"
>
{{ $gettext('Remove') }}
-
- {{ $gettext('Add Response Header') }}
+
+ {{ $gettext('Add Cache Valid Rule') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ (proxy.cache.min_uses = v ?? 0)"
+ />
+
+
+
+
+
+
+
+
+
-
+
-
-
-
- toggleProxyAccessControl(proxy, v)"
- />
-
-
+
+
+
+
+ {
+ const newName = (e.target as HTMLInputElement).value
+ const oldName = String(headerName)
+ if (newName && newName !== oldName) {
+ proxy.headers[newName] = proxy.headers[oldName]
+ delete proxy.headers[oldName]
+ }
+ }
+ "
+ />
+ =
+ (proxy.headers[String(headerName)] = v)"
+ />
+
+ {{ $gettext('Remove') }}
+
+
+ {
+ if (!proxy.headers) proxy.headers = {}
+ proxy.headers[`X-Custom-${Object.keys(proxy.headers).length}`] = ''
+ }
+ "
+ >
+ {{ $gettext('Add Request Header') }}
+
+
+
-
-
+
+
+
+
+ {
+ const newFrom = (e.target as HTMLInputElement).value
+ const oldFrom = String(fromValue)
+ if (newFrom && newFrom !== oldFrom) {
+ proxy.replaces[newFrom] = proxy.replaces[oldFrom]
+ delete proxy.replaces[oldFrom]
+ }
+ }
+ "
+ />
+ =>
+ (proxy.replaces[String(fromValue)] = v)"
+ />
+
+ {{ $gettext('Remove') }}
+
+
+ {
+ if (!proxy.replaces) proxy.replaces = {}
+ proxy.replaces[`/old_${Object.keys(proxy.replaces).length}`] = '/new'
+ }
+ "
+ >
+ {{ $gettext('Add Replacement Rule') }}
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+ updateClientMaxBodySizeValue(proxy, v ?? 0)
+ "
+ />
+ updateClientMaxBodySizeUnit(proxy, v)"
+ />
+
+
+
+
+
+ toggleProxyTimeout(proxy, v)"
/>
-
-
+
+
+
+
+
+
+ updateProxyTimeoutValue(proxy, 'connect', v ?? 1)
+ "
+ />
+ updateProxyTimeoutUnit(proxy, 'connect', v)
+ "
+ />
+
+
+
+
+ updateProxyTimeoutValue(proxy, 'read', v ?? 1)
+ "
+ />
+ updateProxyTimeoutUnit(proxy, 'read', v)
+ "
+ />
+
+
+
+
+ updateProxyTimeoutValue(proxy, 'send', v ?? 1)
+ "
+ />
+ updateProxyTimeoutUnit(proxy, 'send', v)
+ "
+ />
+
+
+
+
+
+
+
+
+ toggleProxyRetry(proxy, v)"
+ />
+
+
+
+
+ toggleProxySSLBackend(proxy, v)"
+ />
+
+
+
+
+ toggleProxyResponseHeaders(proxy, v)"
+ />
+
+
+
+
+
+
+
+
+
+
+ (proxy.retry.tries = v ?? 0)"
+ />
+
+
+
+ updateRetryTimeoutValue(proxy, v ?? 0)
+ "
+ />
+ updateRetryTimeoutUnit(proxy, v)"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ const newName = (e.target as HTMLInputElement).value
+ const oldName = String(headerName)
+ if (newName && newName !== oldName) {
+ proxy.response_headers.add[newName] =
+ proxy.response_headers.add[oldName]
+ delete proxy.response_headers.add[oldName]
+ }
+ }
+ "
+ />
+ =
+
+ (proxy.response_headers.add[String(headerName)] = v)
+ "
+ />
+
+ {{ $gettext('Remove') }}
+
+
+
+ {{ $gettext('Add Response Header') }}
+
+
+
+
+
+
+
+
+
+ toggleProxyAccessControl(proxy, v)"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1919,10 +1973,12 @@ const removeCustomConfig = (index: number) => {
(setting.rate_limit.per_server = v ?? 0)"
/>
{{ $gettext('Limit the maximum concurrent connections for this site') }}
@@ -1930,10 +1986,12 @@ const removeCustomConfig = (index: number) => {
(setting.rate_limit.per_ip = v ?? 0)"
/>
{{ $gettext('Limit the maximum concurrent connections per IP') }}
@@ -1941,10 +1999,12 @@ const removeCustomConfig = (index: number) => {
(setting.rate_limit.rate = v ?? 0)"
/>
{{ $gettext('Limit the rate of each request (unit: KB)') }}