fix(smartproxy): improve certificate manager mocking in tests, enhance IPv6 validation, and record initial bytes for connection metrics
This commit is contained in:
@@ -1490,6 +1490,12 @@ export class RouteConnectionHandler {
|
||||
);
|
||||
}
|
||||
|
||||
// Record the initial chunk bytes for metrics
|
||||
record.bytesReceived += combinedData.length;
|
||||
if (this.smartProxy.metricsCollector) {
|
||||
this.smartProxy.metricsCollector.recordBytes(record.id, combinedData.length, 0);
|
||||
}
|
||||
|
||||
// Write pending data immediately
|
||||
targetSocket.write(combinedData, (err) => {
|
||||
if (err) {
|
||||
|
||||
@@ -439,8 +439,8 @@ export class RouteValidator {
|
||||
* Validate IPv6 address
|
||||
*/
|
||||
private static isValidIPv6(ip: string): boolean {
|
||||
// Simple IPv6 validation
|
||||
const ipv6Pattern = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|::[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){0,6}|::1|::)$/;
|
||||
// IPv6 validation including IPv6-mapped IPv4 addresses (::ffff:x.x.x.x)
|
||||
const ipv6Pattern = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|::[0-9a-fA-F]{0,4}(:[0-9a-fA-F]{1,4}){0,6}|::1|::|::ffff:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/i;
|
||||
return ipv6Pattern.test(ip);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user