mirror of
https://github.com/toeverything/AFFiNE.git
synced 2025-01-03 15:16:27 +03:00
feat: add is-valid-ip-address
(#1591)
This commit is contained in:
parent
1a0abbf76e
commit
6ae06d5609
@ -6,15 +6,22 @@ import {
|
||||
} from '@affine/datacenter';
|
||||
import { config } from '@affine/env';
|
||||
|
||||
import { isValidIPAddress } from '../utils/is-valid-ip-address';
|
||||
|
||||
let prefixUrl = '/';
|
||||
if (typeof window === 'undefined') {
|
||||
// SSR
|
||||
if (config.serverAPI.startsWith('100')) {
|
||||
const serverAPI = config.serverAPI;
|
||||
if (isValidIPAddress(serverAPI)) {
|
||||
// This is for Server side rendering support
|
||||
prefixUrl = new URL('http://' + config.serverAPI + '/').origin;
|
||||
} else {
|
||||
try {
|
||||
new URL(serverAPI);
|
||||
} catch (e) {
|
||||
console.warn('serverAPI is not a valid URL', config.serverAPI);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
params.get('prefixUrl') && (prefixUrl = params.get('prefixUrl') as string);
|
||||
|
25
apps/web/src/utils/__tests__/is-valid-ip-address.spec.ts
Normal file
25
apps/web/src/utils/__tests__/is-valid-ip-address.spec.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import { describe, expect, test } from 'vitest';
|
||||
|
||||
import { isValidIPAddress } from '../is-valid-ip-address';
|
||||
|
||||
describe('isValidIpAddress', () => {
|
||||
test('should return true for valid IP address', () => {
|
||||
['115.42.150.37', '192.168.0.1', '110.234.52.124'].forEach(ip => {
|
||||
expect(isValidIPAddress(ip)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
test('should return false for invalid IP address', () => {
|
||||
[
|
||||
'210.110',
|
||||
'255',
|
||||
'y.y.y.y',
|
||||
'255.0.0.y',
|
||||
'666.10.10.20',
|
||||
'4444.11.11.11',
|
||||
'33.3333.33.3',
|
||||
].forEach(ip => {
|
||||
expect(isValidIPAddress(ip)).toBe(false);
|
||||
});
|
||||
});
|
||||
});
|
5
apps/web/src/utils/is-valid-ip-address.ts
Normal file
5
apps/web/src/utils/is-valid-ip-address.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export function isValidIPAddress(address: string) {
|
||||
return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(
|
||||
address
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue
Block a user