@interopio/gateway-server 0.12.0-beta.0 → 0.13.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -44,22 +44,22 @@ var import_node_http2 = __toESM(require("node:http"), 1);
44
44
  var import_node_https = __toESM(require("node:https"), 1);
45
45
  var import_node_fs = require("node:fs");
46
46
  var import_node_async_hooks4 = require("node:async_hooks");
47
- var import_gateway7 = require("@interopio/gateway");
47
+ var import_gateway6 = require("@interopio/gateway");
48
48
 
49
49
  // src/logger.ts
50
- var import_gateway = require("@interopio/gateway");
51
- function getLogger(name) {
52
- return import_gateway.IOGateway.Logging.getLogger(`gateway.server.${name}`);
50
+ var GatewayLogging = __toESM(require("@interopio/gateway/logging/core"), 1);
51
+ function getLogger2(name) {
52
+ return GatewayLogging.getLogger(`gateway.server.${name}`);
53
53
  }
54
54
  function regexAwareReplacer(_key, value) {
55
55
  return value instanceof RegExp ? value.toString() : value;
56
56
  }
57
57
 
58
58
  // src/gateway/ws/core.ts
59
- var import_gateway2 = require("@interopio/gateway");
59
+ var import_gateway = require("@interopio/gateway");
60
60
  var import_node_async_hooks = require("node:async_hooks");
61
- var GatewayEncoders = import_gateway2.IOGateway.Encoding;
62
- var log = getLogger("ws");
61
+ var GatewayEncoders = import_gateway.IOGateway.Encoding;
62
+ var log = getLogger2("ws");
63
63
  var codec = GatewayEncoders.json();
64
64
  function principalName(authentication) {
65
65
  let name;
@@ -1072,7 +1072,7 @@ var localIp = (() => {
1072
1072
  // src/server/monitoring.ts
1073
1073
  var import_node_v8 = require("node:v8");
1074
1074
  var import_promises = require("node:fs/promises");
1075
- var log2 = getLogger("monitoring");
1075
+ var log2 = getLogger2("monitoring");
1076
1076
  var DEFAULT_OPTIONS = {
1077
1077
  memoryLimit: 1024 * 1024 * 1024,
1078
1078
  // 1GB
@@ -1226,8 +1226,8 @@ var serverHeader = (server) => {
1226
1226
  var server_header_default = (server) => serverHeader(server);
1227
1227
 
1228
1228
  // src/server/ws-client-verify.ts
1229
- var import_gateway3 = require("@interopio/gateway");
1230
- var log3 = getLogger("gateway.ws.client-verify");
1229
+ var import_gateway2 = require("@interopio/gateway");
1230
+ var log3 = getLogger2("gateway.ws.client-verify");
1231
1231
  function acceptsMissing(originFilters) {
1232
1232
  switch (originFilters.missing) {
1233
1233
  case "allow":
@@ -1245,10 +1245,10 @@ function acceptsMissing(originFilters) {
1245
1245
  function tryMatch(originFilters, origin) {
1246
1246
  const block = originFilters.block ?? originFilters["blacklist"];
1247
1247
  const allow = originFilters.allow ?? originFilters["whitelist"];
1248
- if (block.length > 0 && import_gateway3.IOGateway.Filtering.valuesMatch(block, origin)) {
1248
+ if (block.length > 0 && import_gateway2.IOGateway.Filtering.valuesMatch(block, origin)) {
1249
1249
  log3.warn(`origin ${origin} matches block filter`);
1250
1250
  return false;
1251
- } else if (allow.length > 0 && import_gateway3.IOGateway.Filtering.valuesMatch(allow, origin)) {
1251
+ } else if (allow.length > 0 && import_gateway2.IOGateway.Filtering.valuesMatch(allow, origin)) {
1252
1252
  if (log3.enabledFor("debug")) {
1253
1253
  log3.debug(`origin ${origin} matches allow filter`);
1254
1254
  }
@@ -1286,8 +1286,8 @@ function acceptsOrigin(origin, originFilters) {
1286
1286
  }
1287
1287
  function regexifyOriginFilters(originFilters) {
1288
1288
  if (originFilters) {
1289
- const block = (originFilters.block ?? originFilters.blacklist ?? []).map(import_gateway3.IOGateway.Filtering.regexify);
1290
- const allow = (originFilters.allow ?? originFilters.whitelist ?? []).map(import_gateway3.IOGateway.Filtering.regexify);
1289
+ const block = (originFilters.block ?? originFilters.blacklist ?? []).map(import_gateway2.IOGateway.Filtering.regexify);
1290
+ const allow = (originFilters.allow ?? originFilters.whitelist ?? []).map(import_gateway2.IOGateway.Filtering.regexify);
1291
1291
  return {
1292
1292
  non_matched: originFilters.non_matched ?? "allow",
1293
1293
  missing: originFilters.missing ?? "allow",
@@ -1402,12 +1402,12 @@ var upgradeMatcher = async ({ request }) => {
1402
1402
  upgradeMatcher.toString = () => "websocket upgrade";
1403
1403
 
1404
1404
  // src/app/route.ts
1405
- var import_gateway4 = require("@interopio/gateway");
1405
+ var import_gateway3 = require("@interopio/gateway");
1406
1406
  async function configure(app, config, routes) {
1407
1407
  const applyCors = (request, options) => {
1408
1408
  if (options?.cors) {
1409
1409
  const cors = options.cors === true ? {
1410
- allowOrigins: options.origins?.allow?.map(import_gateway4.IOGateway.Filtering.regexify),
1410
+ allowOrigins: options.origins?.allow?.map(import_gateway3.IOGateway.Filtering.regexify),
1411
1411
  allowMethods: request.method === void 0 ? ["*"] : [request.method],
1412
1412
  allowCredentials: options.authorize?.access !== "permitted" ? true : void 0
1413
1413
  } : options.cors;
@@ -1418,7 +1418,7 @@ async function configure(app, config, routes) {
1418
1418
  const configurer = new class {
1419
1419
  handle(...handlers) {
1420
1420
  handlers.forEach(({ request, options, handler }) => {
1421
- const matcher = pattern(import_gateway4.IOGateway.Filtering.regexify(request.path), { method: request.method });
1421
+ const matcher = pattern(import_gateway3.IOGateway.Filtering.regexify(request.path), { method: request.method });
1422
1422
  if (options?.authorize) {
1423
1423
  routes.authorize.push([matcher, options.authorize]);
1424
1424
  }
@@ -1452,7 +1452,7 @@ async function configure(app, config, routes) {
1452
1452
  }
1453
1453
 
1454
1454
  // src/server/cors.ts
1455
- var import_gateway5 = require("@interopio/gateway");
1455
+ var import_gateway4 = require("@interopio/gateway");
1456
1456
  function isSameOrigin(request) {
1457
1457
  const origin = request.headers.one("origin");
1458
1458
  if (origin === void 0) {
@@ -1542,7 +1542,7 @@ function validateCorsConfig(config) {
1542
1542
  ...config,
1543
1543
  allowOrigins: allowOrigins.map((origin) => {
1544
1544
  if (typeof origin === "string" && origin !== ALL) {
1545
- origin = import_gateway5.IOGateway.Filtering.regexify(origin);
1545
+ origin = import_gateway4.IOGateway.Filtering.regexify(origin);
1546
1546
  if (typeof origin === "string") {
1547
1547
  return trimTrailingSlash(origin).toLowerCase();
1548
1548
  }
@@ -1605,7 +1605,7 @@ var corsFilter = (opts) => {
1605
1605
  };
1606
1606
  };
1607
1607
  var cors_default = corsFilter;
1608
- var logger = getLogger("cors");
1608
+ var logger = getLogger2("cors");
1609
1609
  function rejectRequest(response) {
1610
1610
  response.setStatusCode(HttpStatus.FORBIDDEN);
1611
1611
  }
@@ -1684,7 +1684,7 @@ function checkOrigin(config, origin) {
1684
1684
  }
1685
1685
  const originToCheck = trimTrailingSlash(origin.toLowerCase());
1686
1686
  for (const allowedOrigin of allowedOrigins) {
1687
- if (allowedOrigin === ALL || import_gateway5.IOGateway.Filtering.valueMatches(allowedOrigin, originToCheck)) {
1687
+ if (allowedOrigin === ALL || import_gateway4.IOGateway.Filtering.valueMatches(allowedOrigin, originToCheck)) {
1688
1688
  return origin;
1689
1689
  }
1690
1690
  }
@@ -1697,7 +1697,7 @@ function checkMethods(config, requestMethod) {
1697
1697
  if (allowedMethods === ALL) {
1698
1698
  return [requestMethod];
1699
1699
  }
1700
- if (import_gateway5.IOGateway.Filtering.valuesMatch(allowedMethods, requestMethod)) {
1700
+ if (import_gateway4.IOGateway.Filtering.valuesMatch(allowedMethods, requestMethod)) {
1701
1701
  return allowedMethods;
1702
1702
  }
1703
1703
  }
@@ -1756,7 +1756,7 @@ var matchingCorsConfigSource = (opts) => {
1756
1756
  };
1757
1757
 
1758
1758
  // src/app/cors.ts
1759
- var import_gateway6 = require("@interopio/gateway");
1759
+ var import_gateway5 = require("@interopio/gateway");
1760
1760
  function createCorsConfigSource(context) {
1761
1761
  const { sockets: routes, cors } = context;
1762
1762
  const defaultCorsConfig = context.corsConfig === false ? void 0 : combineCorsConfig(PERMIT_DEFAULT_CONFIG, context.corsConfig);
@@ -1764,7 +1764,7 @@ function createCorsConfigSource(context) {
1764
1764
  for (const [path, route] of routes) {
1765
1765
  let routeCorsConfig = defaultCorsConfig;
1766
1766
  for (const [matcher, config2] of cors) {
1767
- if (import_gateway6.IOGateway.Filtering.valueMatches(matcher, path)) {
1767
+ if (import_gateway5.IOGateway.Filtering.valueMatches(matcher, path)) {
1768
1768
  if (config2 === void 0) {
1769
1769
  routeCorsConfig = void 0;
1770
1770
  } else {
@@ -2170,7 +2170,7 @@ var httpStatusEntryPoint = (opts) => {
2170
2170
  };
2171
2171
 
2172
2172
  // src/server/security/delegating-entry-point.ts
2173
- var logger2 = getLogger("auth.entry-point");
2173
+ var logger2 = getLogger2("auth.entry-point");
2174
2174
  var delegatingEntryPoint = (opts) => {
2175
2175
  const defaultEntryPoint = opts.defaultEntryPoint ?? (async ({ response }, _error) => {
2176
2176
  response.setStatusCode(HttpStatus.UNAUTHORIZED);
@@ -2526,7 +2526,7 @@ var errorFilter = (opts) => {
2526
2526
  };
2527
2527
 
2528
2528
  // src/server/security/delegating-authorization-manager.ts
2529
- var logger3 = getLogger("security.auth");
2529
+ var logger3 = getLogger2("security.auth");
2530
2530
  function delegatingAuthorizationManager(opts) {
2531
2531
  const check = async (authentication, exchange) => {
2532
2532
  let decision;
@@ -2547,7 +2547,7 @@ function delegatingAuthorizationManager(opts) {
2547
2547
  }
2548
2548
 
2549
2549
  // src/server/security/authorization-filter.ts
2550
- var logger4 = getLogger("security.auth");
2550
+ var logger4 = getLogger2("security.auth");
2551
2551
  function authorizationFilter(opts) {
2552
2552
  const { manager, storage } = opts;
2553
2553
  return async (exchange, next) => {
@@ -2917,7 +2917,7 @@ var WebHttpHandlerBuilder = class {
2917
2917
  this.#webHandler = webHandler;
2918
2918
  }
2919
2919
  build() {
2920
- const logger7 = getLogger("http");
2920
+ const logger7 = getLogger2("http");
2921
2921
  const adapter = new HandlerAdapter(logger7, this.#webHandler);
2922
2922
  if (this.#storage !== void 0) adapter.storage = this.#storage;
2923
2923
  adapter.enableLoggingRequestDetails = false;
@@ -3000,7 +3000,7 @@ var ExtendedWebSocket = class extends import_ws.WebSocket {
3000
3000
  }
3001
3001
  connected;
3002
3002
  };
3003
- var logger5 = getLogger("ws");
3003
+ var logger5 = getLogger2("ws");
3004
3004
  function upgradeStrategy(path, route, wss, onSocketError) {
3005
3005
  return (exchange) => {
3006
3006
  const { logPrefix, request } = exchange;
@@ -3112,7 +3112,7 @@ async function initRoute(path, route, endpoint, storage, onSocketError) {
3112
3112
  }
3113
3113
 
3114
3114
  // src/server.ts
3115
- var logger6 = getLogger("app");
3115
+ var logger6 = getLogger2("app");
3116
3116
  function secureContextOptions(ssl) {
3117
3117
  const options = {};
3118
3118
  if (ssl.key) options.key = (0, import_node_fs.readFileSync)(ssl.key);
@@ -3212,7 +3212,7 @@ var Factory = async (options) => {
3212
3212
  storage: new import_node_async_hooks4.AsyncLocalStorage(),
3213
3213
  sockets: /* @__PURE__ */ new Map()
3214
3214
  };
3215
- const gw = import_gateway7.IOGateway.Factory({ ...options.gateway });
3215
+ const gw = import_gateway6.IOGateway.Factory({ ...options.gateway });
3216
3216
  if (options.gateway) {
3217
3217
  const config = options.gateway;
3218
3218
  await configure(async (configurer) => {
@@ -3230,7 +3230,8 @@ var Factory = async (options) => {
3230
3230
  const serverP = new Promise((resolve, reject) => {
3231
3231
  const server2 = createServer({
3232
3232
  IncomingMessage: ExtendedHttpIncomingMessage,
3233
- ServerResponse: ExtendedHttpServerResponse
3233
+ ServerResponse: ExtendedHttpServerResponse,
3234
+ ...options.http
3234
3235
  }, listener);
3235
3236
  server2.on("error", (e) => {
3236
3237
  if (e["code"] === "EADDRINUSE") {