@ido_kawaz/server-framework 3.0.0 → 3.1.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.
@@ -14,7 +14,7 @@ describe("createServerConfig", () => {
14
14
  process.env.PORT = "3000";
15
15
  delete process.env.SECURED;
16
16
  const config = (0, config_1.createServerConfig)();
17
- expect(config).toEqual({ port: 3000, secured: false });
17
+ expect(config).toEqual({ port: 3000, secured: false, hostname: "0.0.0.0" });
18
18
  });
19
19
  it("throws when PORT is missing", () => {
20
20
  delete process.env.PORT;
@@ -1 +1 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":";;AAAA,sCAA+C;AAC/C,6BAA+B;AAE/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAA,2BAAkB,GAAE,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,aAAa,GAAG,IAAI,cAAQ,CAAC;YAC/B;gBACI,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,+BAA+B;aAC3C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,IAAA,2BAAkB,GAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC;QAClC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,aAAa,GAAG,IAAI,cAAQ,CAAC;YAC/B;gBACI,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,+BAA+B;aAC3C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,IAAA,2BAAkB,GAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":";;AAAA,sCAA+C;AAC/C,6BAA+B;AAE/B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAA,2BAAkB,GAAE,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,aAAa,GAAG,IAAI,cAAQ,CAAC;YAC/B;gBACI,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,+BAA+B;aAC3C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,IAAA,2BAAkB,GAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,cAAc,CAAC;QAClC,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAE3B,MAAM,aAAa,GAAG,IAAI,cAAQ,CAAC;YAC/B;gBACI,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,+BAA+B;aAC3C;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,IAAA,2BAAkB,GAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,cAAQ,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -40,7 +40,7 @@ describe("createServer", () => {
40
40
  const expressApp = { name: "express-app" };
41
41
  const serviceApp = { name: "service-app" };
42
42
  const onMock = jest.fn();
43
- const listenMock = jest.fn((_, callback) => {
43
+ const listenMock = jest.fn((_, __, callback) => {
44
44
  callback();
45
45
  return { on: onMock };
46
46
  });
@@ -49,19 +49,19 @@ describe("createServer", () => {
49
49
  http_1.default.createServer.mockReturnValue({ listen: listenMock });
50
50
  const routeHandler = jest.fn(() => serviceApp);
51
51
  const registerRoutes = jest.fn(() => routeHandler);
52
- const server = await (0, server_1.createServer)({ port: 3000, secured: false }, registerRoutes);
52
+ const server = await (0, server_1.createServer)({ port: 3000, secured: false, hostname: "0.0.0.0" }, registerRoutes);
53
53
  await expect(server.start()).resolves.toBeUndefined();
54
54
  expect(registerMiddlewaresMock).toHaveBeenCalledWith(expressApp);
55
55
  expect(registerErrorHandlingMock).toHaveBeenCalledWith(serviceApp);
56
56
  expect(http_1.default.createServer).toHaveBeenCalledWith(serviceApp);
57
57
  expect(https_1.default.createServer).not.toHaveBeenCalled();
58
- expect(listenMock).toHaveBeenCalledWith(3000, expect.any(Function));
58
+ expect(listenMock).toHaveBeenCalledWith(3000, "0.0.0.0", expect.any(Function));
59
59
  expect(onMock).toHaveBeenCalledWith("error", expect.any(Function));
60
60
  });
61
61
  it("uses HTTPS server when secured is true", async () => {
62
62
  const expressApp = { name: "express-app" };
63
63
  const onMock = jest.fn();
64
- const listenMock = jest.fn((_, callback) => {
64
+ const listenMock = jest.fn((_, __, callback) => {
65
65
  callback();
66
66
  return { on: onMock };
67
67
  });
@@ -69,7 +69,7 @@ describe("createServer", () => {
69
69
  expressMock.mockReturnValue(expressApp);
70
70
  https_1.default.createServer.mockReturnValue({ listen: listenMock });
71
71
  const registerRoutes = () => (app) => app;
72
- const server = await (0, server_1.createServer)({ port: 3443, secured: true }, registerRoutes);
72
+ const server = (0, server_1.createServer)({ port: 3443, secured: true, hostname: "0.0.0.0" }, registerRoutes);
73
73
  await expect(server.start()).resolves.toBeUndefined();
74
74
  expect(https_1.default.createServer).toHaveBeenCalledTimes(1);
75
75
  expect(http_1.default.createServer).not.toHaveBeenCalled();
@@ -88,7 +88,7 @@ describe("createServer", () => {
88
88
  expressMock.mockReturnValue(expressApp);
89
89
  http_1.default.createServer.mockReturnValue({ listen: listenMock });
90
90
  const registerRoutes = () => (app) => app;
91
- const server = await (0, server_1.createServer)({ port: 3001, secured: false }, registerRoutes);
91
+ const server = await (0, server_1.createServer)({ port: 3001, secured: false, hostname: "0.0.0.0" }, registerRoutes);
92
92
  await expect(server.start()).rejects.toThrow("listen failed");
93
93
  });
94
94
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/__tests__/server.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/__tests__/server.test.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,gDAAwB;AACxB,kDAA0B;AAC1B,sCAAyC;AAGzC,MAAM,uBAAuB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AAExD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,mBAAmB,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC;IACnE,qBAAqB,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC;CAC1E,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,GAAG,SAA6C,EAAE,EAAE,CACvD,CAAC,KAAc,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CAC5E,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACxB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;CACrB,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACrB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACL,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B;CACJ,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACL,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE;KAC1B;CACJ,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,QAAoB,EAAE,EAAE;YACvE,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,iBAA+B,CAAC;QACpD,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,cAAI,CAAC,YAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEzE,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAgC,CAAC,CAAC;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAA4D,CAAC,CAAC;QAErJ,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEtD,MAAM,CAAC,uBAAuB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,CAAC,cAAI,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,eAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,EAAU,EAAE,QAAoB,EAAE,EAAE;YACvE,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,iBAA+B,CAAC;QACpD,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,eAAK,CAAC,YAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;QAEhG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAEtD,MAAM,CAAC,eAAK,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,cAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAa,EAAE,OAA+B,EAAE,EAAE;YACtE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAEnD,MAAM,WAAW,GAAG,iBAA+B,CAAC;QACpD,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACvC,cAAI,CAAC,YAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAEzE,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;QAEvG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export interface ServerConfig {
2
2
  port: number;
3
3
  secured: boolean;
4
+ hostname: string;
4
5
  }
5
6
  export declare const createServerConfig: () => ServerConfig;
6
7
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACpB;AAQD,eAAO,MAAM,kBAAkB,QAAO,YAMrC,CAAA"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAQD,eAAO,MAAM,kBAAkB,QAAO,YAOrC,CAAA"}
package/dist/config.js CHANGED
@@ -7,13 +7,15 @@ exports.createServerConfig = void 0;
7
7
  const zod_1 = __importDefault(require("zod"));
8
8
  const serverEnvSchema = zod_1.default.object({
9
9
  PORT: zod_1.default.coerce.number(),
10
- SECURED: zod_1.default.boolean().default(false)
10
+ SECURED: zod_1.default.boolean().default(false),
11
+ HOSTNAME: zod_1.default.string().default("0.0.0.0")
11
12
  });
12
13
  const createServerConfig = () => {
13
14
  const env = serverEnvSchema.parse(process.env);
14
15
  return {
15
16
  port: env.PORT,
16
- secured: env.SECURED
17
+ secured: env.SECURED,
18
+ hostname: env.HOSTNAME
17
19
  };
18
20
  };
19
21
  exports.createServerConfig = createServerConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAOpB,MAAM,eAAe,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACtC,CAAC,CAAC;AAGI,MAAM,kBAAkB,GAAG,GAAiB,EAAE;IACjD,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;KACvB,CAAA;AACL,CAAC,CAAA;AANY,QAAA,kBAAkB,sBAM9B"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AAQpB,MAAM,eAAe,GAAG,aAAC,CAAC,MAAM,CAAC;IAC7B,IAAI,EAAE,aAAC,CAAC,MAAM,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,aAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CAC1C,CAAC,CAAC;AAEI,MAAM,kBAAkB,GAAG,GAAiB,EAAE;IACjD,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ;KACzB,CAAA;AACL,CAAC,CAAA;AAPY,QAAA,kBAAkB,sBAO9B"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Express } from "express";
2
2
  import { ServerConfig } from "./config";
3
- export declare const createServer: <Args extends any[]>(config: ServerConfig, registerRoutes: (...args: Args) => (app: Express) => Express) => Promise<{
3
+ export declare const createServer: <Args extends any[]>(config: ServerConfig, registerRoutes: (...args: Args) => (app: Express) => Express) => {
4
4
  start: (...args: Args) => Promise<void>;
5
- }>;
5
+ };
6
6
  export type Server = ReturnType<typeof createServer>;
7
7
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAS,IAAI,SAAS,GAAG,EAAE,EAChD,QAAQ,YAAY,EACpB,gBAAgB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO;qBAGjC,IAAI;EAgBlC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAI,IAAI,SAAS,GAAG,EAAE,EAC3C,QAAQ,YAAY,EACpB,gBAAgB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO;qBAGjC,IAAI;CAgBlC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
package/dist/server.js CHANGED
@@ -9,16 +9,16 @@ const http_1 = __importDefault(require("http"));
9
9
  const https_1 = __importDefault(require("https"));
10
10
  const utils_1 = require("./utils");
11
11
  const ramda_1 = require("ramda");
12
- const createServer = async (config, registerRoutes) => {
12
+ const createServer = (config, registerRoutes) => {
13
13
  return {
14
14
  start: async (...args) => {
15
15
  const expressApp = (0, express_1.default)();
16
16
  const serviceApp = (0, ramda_1.pipe)(utils_1.registerMiddlewares, registerRoutes(...args), utils_1.registerErrorHandling)(expressApp);
17
- const { port, secured } = config;
17
+ const { port, secured, hostname } = config;
18
18
  const server = secured ? https_1.default.createServer(serviceApp) : http_1.default.createServer(serviceApp);
19
19
  return new Promise((resolve, reject) => {
20
- server.listen(port, () => {
21
- console.log(`Server is running on port ${port}`);
20
+ server.listen(port, hostname, () => {
21
+ console.log(`Server is running on http${secured ? "s" : ""}://${hostname}:${port}`);
22
22
  resolve();
23
23
  }).on("error", (error) => {
24
24
  console.error("Error starting the server:", error);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2C;AAC3C,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAqE;AACrE,iCAA6B;AAGtB,MAAM,YAAY,GAAG,KAAK,EAC7B,MAAoB,EACpB,cAA4D,EAC9D,EAAE;IACA,OAAO;QACH,KAAK,EAAE,KAAK,EAAE,GAAG,IAAU,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAA,iBAAO,GAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,2BAAmB,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,EAAE,6BAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;YACzG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,eAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACxF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;oBACrB,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;oBACjD,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;oBACnD,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA2C;AAC3C,gDAAwB;AACxB,kDAA0B;AAE1B,mCAAqE;AACrE,iCAA6B;AAGtB,MAAM,YAAY,GAAG,CACxB,MAAoB,EACpB,cAA4D,EAC9D,EAAE;IACA,OAAO;QACH,KAAK,EAAE,KAAK,EAAE,GAAG,IAAU,EAAE,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAA,iBAAO,GAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,IAAA,YAAI,EAAC,2BAAmB,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,EAAE,6BAAqB,CAAC,CAAC,UAAU,CAAC,CAAC;YACzG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;YAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,eAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACxF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE;oBAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;oBACpF,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;oBACnD,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ido_kawaz/server-framework",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "Server framework library for Kawaz Plus services",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",