mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-09 05:17:40 +00:00
refactor(gateway): share IPv4 input validator
This commit is contained in:
19
src/shared/net/ipv4.ts
Normal file
19
src/shared/net/ipv4.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
export function validateIPv4AddressInput(value: string | undefined): string | undefined {
|
||||
if (!value) {
|
||||
return "IP address is required for custom bind mode";
|
||||
}
|
||||
const trimmed = value.trim();
|
||||
const parts = trimmed.split(".");
|
||||
if (parts.length !== 4) {
|
||||
return "Invalid IPv4 address (e.g., 192.168.1.100)";
|
||||
}
|
||||
if (
|
||||
parts.every((part) => {
|
||||
const n = parseInt(part, 10);
|
||||
return !Number.isNaN(n) && n >= 0 && n <= 255 && part === String(n);
|
||||
})
|
||||
) {
|
||||
return undefined;
|
||||
}
|
||||
return "Invalid IPv4 address (each octet must be 0-255)";
|
||||
}
|
||||
Reference in New Issue
Block a user