adjustment to pr

This commit is contained in:
miloschwartz 2025-04-20 20:50:50 -04:00
parent 957fa67e24
commit bf8bb1a0df
No known key found for this signature in database
3 changed files with 85 additions and 83 deletions

View file

@ -78,8 +78,8 @@ export const resources = sqliteTable("resources", {
.notNull() .notNull()
.default(false), .default(false),
enabled: integer("enabled", { mode: "boolean" }).notNull().default(true), enabled: integer("enabled", { mode: "boolean" }).notNull().default(true),
tlsServerName: text("tlsServerName").notNull().default(""), tlsServerName: text("tlsServerName"),
setHostHeader: text("setHostHeader").notNull().default("") setHostHeader: text("setHostHeader")
}); });
export const targets = sqliteTable("targets", { export const targets = sqliteTable("targets", {

View file

@ -123,7 +123,8 @@ const AdvancedFormSchema = z
return true; return true;
}, },
{ {
message: "Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.", message:
"Invalid TLS Server Name. Use domain name format, or save empty to remove the TLS Server Name.",
path: ["tlsServerName"] path: ["tlsServerName"]
} }
) )
@ -135,7 +136,8 @@ const AdvancedFormSchema = z
return true; return true;
}, },
{ {
message: "Invalid custom Host Header value. Use domain name format, or save empty to unset the custom Host Header", message:
"Invalid custom Host Header value. Use domain name format, or save empty to unset the custom Host Header",
path: ["tlsServerName"] path: ["tlsServerName"]
} }
); );
@ -187,8 +189,12 @@ export default function GeneralForm() {
resolver: zodResolver(AdvancedFormSchema), resolver: zodResolver(AdvancedFormSchema),
defaultValues: { defaultValues: {
http: resource.http, http: resource.http,
tlsServerName: resource.http ? resource.tlsServerName || "" : undefined, tlsServerName: resource.http
setHostHeader: resource.http ? resource.setHostHeader || "" : undefined ? resource.tlsServerName || ""
: undefined,
setHostHeader: resource.http
? resource.setHostHeader || ""
: undefined
}, },
mode: "onChange" mode: "onChange"
}); });
@ -687,21 +693,24 @@ export default function GeneralForm() {
<> <>
<SettingsSection> <SettingsSection>
<SettingsSectionHeader> <SettingsSectionHeader>
<SettingsSectionTitle>Advanced</SettingsSectionTitle> <SettingsSectionTitle>
Advanced
</SettingsSectionTitle>
<SettingsSectionDescription> <SettingsSectionDescription>
Adjust advanced settings for the resource, like customize the Host Header or set a TLS Server Name for SNI based routing. Adjust advanced settings for the resource,
like customize the Host Header or set a TLS
Server Name for SNI based routing.
</SettingsSectionDescription> </SettingsSectionDescription>
</SettingsSectionHeader> </SettingsSectionHeader>
<SettingsSectionBody> <SettingsSectionBody>
<SettingsSectionForm> <SettingsSectionForm>
<Form {...advancedForm}> <Form {...advancedForm}>
<form <form
onSubmit={advancedForm.handleSubmit(onSubmitAdvanced)} onSubmit={advancedForm.handleSubmit(
className="grid grid-cols-1 md:grid-cols-2 gap-4" onSubmitAdvanced
)}
id="advanced-settings-form" id="advanced-settings-form"
> >
{/* New TLS Server Name Field */}
<div className="w-fill space-y-2">
<FormLabel> <FormLabel>
TLS Server Name (optional) TLS Server Name (optional)
</FormLabel> </FormLabel>
@ -711,17 +720,13 @@ export default function GeneralForm() {
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
<Input <Input {...field} />
{...field}
/>
</FormControl> </FormControl>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
)} )}
/> />
</div>
{/* New Custom Host Header Field */}
<div className="w-fill space-y-2">
<FormLabel> <FormLabel>
Custom Host Header (optional) Custom Host Header (optional)
</FormLabel> </FormLabel>
@ -731,15 +736,12 @@ export default function GeneralForm() {
render={({ field }) => ( render={({ field }) => (
<FormItem> <FormItem>
<FormControl> <FormControl>
<Input <Input {...field} />
{...field}
/>
</FormControl> </FormControl>
<FormMessage /> <FormMessage />
</FormItem> </FormItem>
)} )}
/> />
</div>
</form> </form>
</Form> </Form>
</SettingsSectionForm> </SettingsSectionForm>