Skip to content

Commit 76236be

Browse files
committed
Cleanup
1 parent 3ccb158 commit 76236be

File tree

8 files changed

+28
-40
lines changed

8 files changed

+28
-40
lines changed

examples/server_apex.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env node
22

3-
import {startServer} from '../src/index.js';
3+
import {startHttpServer} from '../src/index.js';
44

5-
void startServer({
5+
void startHttpServer({
66
port: 80,
77
routeStatic: [
88
{

examples/server_sample.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#!/usr/bin/env node
22

3-
import {startServer} from '../src/index.js';
3+
import {startHttpServer} from '../src/index.js';
44

5-
void startServer({
5+
void startHttpServer({
66
port: 80,
77
routeStatic: [
88
{

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
"@types/fs-extra": "11.0.4",
7878
"@types/morgan": "1.9.9",
7979
"@types/multer": "^1.4.12",
80-
"@types/node": "22.13.8",
80+
"@types/node": "22.13.9",
8181
"@types/oracledb": "6.5.3",
8282
"@types/supertest": "6.0.2",
8383
"eslint": "9.21.0",

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// server
2-
export {createHttpServer, createHttpsServer, startServer} from './server.js';
2+
export {createHttpServer, createHttpsServer, startHttpServer} from './server.js';
33
export * from './shutdown.js';
44

55
// handler

src/server.js

Lines changed: 14 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import {handlerLogger} from './handlerLogger.js';
1616
import {initMetrics, handlerMetrics} from './handlerMetrics.js';
1717
import {handlerWebPlSql} from './handlerPlSql.js';
1818
import {getPackageVersion} from './version.js';
19-
import {poolClose} from './oracle.js';
2019
import {readFileSyncUtf8} from './file.js';
2120

2221
/**
@@ -33,10 +32,10 @@ import {readFileSyncUtf8} from './file.js';
3332
* Create HTTP server.
3433
* @param {Express} app - express application
3534
* @param {number} port - port number
36-
* @param {Pool} connectionPool - database connection
35+
* @param {Pool[]} connectionPools - database connection
3736
* @returns {Promise<http.Server>} - server
3837
*/
39-
export const createHttpServer = (app, port, connectionPool) => {
38+
export const createHttpServer = (app, port, connectionPools) => {
4039
return new Promise((resolve) => {
4140
// Create server
4241
// eslint-disable-next-line @typescript-eslint/no-misused-promises
@@ -45,7 +44,7 @@ export const createHttpServer = (app, port, connectionPool) => {
4544
// Install shutdown handler
4645
installShutdown(async () => {
4746
// Close database pool.
48-
await poolClose(connectionPool);
47+
await poolsClose(connectionPools);
4948

5049
// Close server
5150
return new Promise((resolve) => server.close(() => resolve()));
@@ -64,10 +63,10 @@ export const createHttpServer = (app, port, connectionPool) => {
6463
* @param {string} sslKeyFilename - ssl
6564
* @param {string} sslCertFilename - ssl
6665
* @param {number} port - port number
67-
* @param {Pool} connectionPool - database connection
66+
* @param {Pool[]} connectionPools - database connection
6867
* @returns {Promise<https.Server>} - server
6968
*/
70-
export const createHttpsServer = (app, sslKeyFilename, sslCertFilename, port, connectionPool) => {
69+
export const createHttpsServer = (app, sslKeyFilename, sslCertFilename, port, connectionPools) => {
7170
return new Promise((resolve) => {
7271
// Load certificates
7372
const key = readFileSyncUtf8(sslKeyFilename);
@@ -80,7 +79,7 @@ export const createHttpsServer = (app, sslKeyFilename, sslCertFilename, port, co
8079
// Install shutdown handler
8180
installShutdown(async () => {
8281
// Close database pool.
83-
await poolClose(connectionPool);
82+
await poolsClose(connectionPools);
8483

8584
// Close server
8685
return new Promise((resolve) => server.close(() => resolve()));
@@ -94,30 +93,17 @@ export const createHttpsServer = (app, sslKeyFilename, sslCertFilename, port, co
9493
};
9594

9695
/**
97-
* Start generic server.
96+
* Start HTTP server.
9897
* @param {configType} config - The config.
9998
* @returns {Promise<void>} - Promise.
10099
*/
101-
export const startServer = async (config) => {
102-
debug('startServer', config);
100+
export const startHttpServer = async (config) => {
101+
debug('startHttpServer', config);
103102

104103
config = z$configType.parse(config);
105104

106105
console.log(`WEB_PL/SQL ${getPackageVersion()}`);
107106

108-
/** @type {Pool[]} */
109-
const pools = [];
110-
111-
// Install shutdown handler
112-
installShutdown(async () => {
113-
// Close database pools.
114-
await poolsClose(pools);
115-
pools.length = 0;
116-
117-
// Close server
118-
return new Promise((resolve) => server.close(() => resolve()));
119-
});
120-
121107
// Create express app
122108
const app = express();
123109

@@ -144,11 +130,14 @@ export const startServer = async (config) => {
144130
app.use(handlerLogger(config.loggerFilename));
145131
}
146132

133+
/** @type {Pool[]} */
134+
const connectionPools = [];
135+
147136
// Oracle pl/sql express middleware
148137
for (const i of config.routePlSql) {
149138
// Allocate the Oracle database pool
150139
const pool = await poolCreate(i.user, i.password, i.connectString);
151-
pools.push(pool);
140+
connectionPools.push(pool);
152141

153142
app.use(`${i.route}/:name?`, handlerWebPlSql(pool, i));
154143

@@ -170,6 +159,5 @@ export const startServer = async (config) => {
170159
}, 1000);
171160
}
172161

173-
// listen on port
174-
const server = app.listen(config.port);
162+
await createHttpServer(app, config.port, connectionPools);
175163
};

types/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ export * from "./version.js";
66
export { handlerWebPlSql } from "./handlerPlSql.js";
77
export { handlerLogger } from "./handlerLogger.js";
88
export { handlerUpload } from "./handlerUpload.js";
9-
export { createHttpServer, createHttpsServer, startServer } from "./server.js";
9+
export { createHttpServer, createHttpsServer, startHttpServer } from "./server.js";
1010
export { initMetrics, handlerMetrics } from "./handlerMetrics.js";

types/server.d.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
export function createHttpServer(app: Express, port: number, connectionPool: Pool): Promise<http.Server>;
2-
export function createHttpsServer(app: Express, sslKeyFilename: string, sslCertFilename: string, port: number, connectionPool: Pool): Promise<https.Server>;
3-
export function startServer(config: configType): Promise<void>;
1+
export function createHttpServer(app: Express, port: number, connectionPools: Pool[]): Promise<http.Server>;
2+
export function createHttpsServer(app: Express, sslKeyFilename: string, sslCertFilename: string, port: number, connectionPools: Pool[]): Promise<https.Server>;
3+
export function startHttpServer(config: configType): Promise<void>;
44
export type Express = import("express").Express;
55
export type Request = import("express").Request;
66
export type Response = import("express").Response;

0 commit comments

Comments
 (0)