ckn.backend
Version:
CKN Framework for Backend
29 lines (25 loc) • 834 B
JavaScript
import {Middleware} from "../core/Middleware.js";
import {File} from 'ckn.stream';
import dotenv from 'dotenv';
import express from "express";
class EnvironmentVariableMiddleware extends Middleware {
constructor() {
super();
this.priority = 0;
this.envPath = "development.env";
}
changeEnvPath(value) {
this.envPath = value;
return this;
}
async onStartingServer(backend, next) {
this.envPath = process.env.NODE_ENV ? process.env.NODE_ENV + ".env" : this.envPath;
let envPath = File.join(backend.rootPhysicalPath, this.envPath);
if (envPath.toFile().isExist) {
dotenv.config({path: envPath});
this.log.info(`[OK] Env file '${envPath}' is loading.`);
}
next();
}
}
export {EnvironmentVariableMiddleware}