Skip to content

Commit 20a273e

Browse files
authored
Merge pull request #17 from AthennaIO/develop
fix: fetch global middlewares inside the ioc
2 parents 9b3fd31 + 6f56372 commit 20a273e

File tree

5 files changed

+57
-33
lines changed

5 files changed

+57
-33
lines changed

package-lock.json

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

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@athenna/core",
3-
"version": "1.1.4",
3+
"version": "1.1.5",
44
"description": "",
55
"license": "MIT",
66
"author": "João Lenon <[email protected]>",
@@ -164,7 +164,7 @@
164164
"dependencies": {
165165
"@athenna/config": "1.0.5",
166166
"@athenna/ioc": "1.0.9",
167-
"@athenna/logger": "1.0.9",
167+
"@athenna/logger": "1.1.1",
168168
"@athenna/http": "1.1.3",
169169
"@secjs/utils": "1.8.0",
170170
"reflect-metadata": "0.1.13",

src/Application.ts

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export class Application {
135135

136136
await this.httpServer.listen(port, host)
137137

138-
this.logger.log(`Http server started on http://${host}:${port}`)
138+
this.logger.success(`Http server started on http://${host}:${port}`)
139139

140140
return this.httpServer
141141
}
@@ -167,7 +167,7 @@ export class Application {
167167
private preloadFile(filePath: string) {
168168
const { dir, name } = parse(filePath)
169169

170-
this.logger.log(`Preloading ${name} file`)
170+
this.logger.success(`Preloading ${name} file`)
171171

172172
require(`${dir}/${name}${this.extension}`)
173173
}
@@ -184,7 +184,13 @@ export class Application {
184184
require(`${dir}/${name}${this.extension}`),
185185
)
186186

187+
this.logger.success('Booting the Http Kernel')
188+
187189
const httpKernel = new HttpKernel()
190+
191+
/**
192+
* Using getters because they are possible null
193+
*/
188194
const container = this.getContainer()
189195
const httpServer = this.getHttpServer()
190196

@@ -210,19 +216,25 @@ export class Application {
210216
/**
211217
* Resolving global middlewares inside the Http server.
212218
*/
213-
httpKernel.globalMiddlewares.forEach(globalMiddleware => {
214-
globalMiddleware = ResolveClassExport.resolve(globalMiddleware)
219+
httpKernel.globalMiddlewares.forEach(Middleware => {
220+
Middleware = ResolveClassExport.resolve(Middleware)
221+
222+
if (!container.hasDependency(`App/Middlewares/${Middleware.name}`)) {
223+
container.bind(`App/Middlewares/${Middleware.name}`, Middleware)
224+
}
225+
226+
Middleware = container.safeUse(`App/Middlewares/${Middleware.name}`)
215227

216-
if (globalMiddleware.handle) {
217-
httpServer.use(globalMiddleware.handle, 'handle')
228+
if (Middleware.handle) {
229+
httpServer.use(Middleware.handle, 'handle')
218230
}
219231

220-
if (globalMiddleware.intercept) {
221-
httpServer.use(globalMiddleware.intercept, 'intercept')
232+
if (Middleware.intercept) {
233+
httpServer.use(Middleware.intercept, 'intercept')
222234
}
223235

224-
if (globalMiddleware.terminate) {
225-
httpServer.use(globalMiddleware.terminate, 'terminate')
236+
if (Middleware.terminate) {
237+
httpServer.use(Middleware.terminate, 'terminate')
226238
}
227239
})
228240
}

src/Ignite.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,9 @@ export class Ignite {
197197
providersNormalized.push(ResolveClassExport.resolve(Provider))
198198
})
199199

200-
providersNormalized.forEach(p => this.logger.log(`Registering ${p.name}`))
200+
providersNormalized.forEach(p =>
201+
this.logger.success(`Registering ${p.name}`),
202+
)
201203

202204
return providersNormalized
203205
}
@@ -247,7 +249,7 @@ export class Ignite {
247249
preload = normalize(preload)
248250

249251
const { dir, name } = parse(Path.config(preload))
250-
this.logger.log(`Preloading ${name} file`)
252+
this.logger.success(`Preloading ${name} file`)
251253

252254
require(`${dir}/${name}${this.extension}`)
253255
})

tests/Stubs/config/logging.ts

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Path } from '@secjs/utils'
2+
import { Color } from '@athenna/logger'
23

34
export default {
45
/*
@@ -22,31 +23,40 @@ export default {
2223
| Here you may configure the log channels for your application.
2324
|
2425
| Available Drivers: "console", "debug", "file".
25-
| Available Formatters: "context", "debug", "json", "log".
26+
| Available Formatters: "cli", "simple", "nest", "json".
2627
|
2728
*/
2829

2930
channels: {
3031
application: {
3132
driver: 'console',
32-
level: 'INFO',
33-
context: 'Logger',
34-
formatter: 'context',
33+
formatter: 'nest',
3534
streamType: 'stdout',
35+
formatterConfig: {
36+
level: 'INFO',
37+
chalk: Color.cyan,
38+
context: 'Logger',
39+
},
3640
},
3741
debug: {
3842
driver: 'debug',
39-
level: 'DEBUG',
40-
context: 'Debugger',
41-
formatter: 'context',
43+
formatter: 'nest',
4244
namespace: 'api:main',
45+
formatterConfig: {
46+
level: 'DEBUG',
47+
chalk: Color.purple,
48+
context: 'Debugger',
49+
},
4350
},
4451
file: {
4552
driver: 'file',
46-
level: 'INFO',
47-
context: 'Logger',
48-
formatter: 'log',
53+
formatter: 'simple',
4954
filePath: Path.noBuild().logs('athenna.log'),
55+
formatterConfig: {
56+
level: 'INFO',
57+
chalk: Color.cyan,
58+
context: 'Logger',
59+
},
5060
},
5161
},
5262
}

0 commit comments

Comments
 (0)