proxy-protocol-js
Version:
A PROXY protocol builder and parser for JavaScript
88 lines • 2.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.IPv6ProxyAddress = exports.IPv6Address = void 0;
var AddressFamily_1 = require("../enum/AddressFamily");
var IPv6Address = (function () {
function IPv6Address(address) {
this.address = address;
}
IPv6Address.createFrom = function (address) {
return new IPv6Address([
address[0] || 0,
address[1] || 0,
address[2] || 0,
address[3] || 0,
address[4] || 0,
address[5] || 0,
address[6] || 0,
address[7] || 0,
address[8] || 0,
address[9] || 0,
address[10] || 0,
address[11] || 0,
address[12] || 0,
address[13] || 0,
address[14] || 0,
address[15] || 0,
]);
};
IPv6Address.createWithEmptyAddress = function () {
return IPv6Address.createFrom([]);
};
return IPv6Address;
}());
exports.IPv6Address = IPv6Address;
var IPv6ProxyAddress = (function () {
function IPv6ProxyAddress(sourceAddress, sourcePort, destinationAddress, destinationPort) {
this.sourceAddress = sourceAddress;
this.sourcePort = sourcePort;
this.destinationAddress = destinationAddress;
this.destinationPort = destinationPort;
}
IPv6ProxyAddress.from = function (data) {
return new IPv6ProxyAddress(new IPv6Address([
data[0],
data[1],
data[2],
data[3],
data[4],
data[5],
data[6],
data[7],
data[8],
data[9],
data[10],
data[11],
data[12],
data[13],
data[14],
data[15],
]), (data[32] << 8) + data[33], new IPv6Address([
data[16],
data[17],
data[18],
data[19],
data[20],
data[21],
data[22],
data[23],
data[24],
data[25],
data[26],
data[27],
data[28],
data[29],
data[30],
data[31],
]), (data[34] << 8) + data[35]);
};
IPv6ProxyAddress.prototype.getLength = function () {
return new AddressFamily_1.AddressFamily(this.getAddressFamilyType()).getLength();
};
IPv6ProxyAddress.prototype.getAddressFamilyType = function () {
return AddressFamily_1.AddressFamilyType.INET6;
};
return IPv6ProxyAddress;
}());
exports.IPv6ProxyAddress = IPv6ProxyAddress;
//# sourceMappingURL=IPv6ProxyAddress.js.map
;