Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit d17df1a

Browse files
author
Julien Sergent
committed
refactor: Working on reducing coupling between easy classes
1 parent 1c23ad0 commit d17df1a

File tree

6 files changed

+39
-18
lines changed

6 files changed

+39
-18
lines changed

‎easy/core/Application.js‎

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,20 @@ class Application extends Configurable {
5757
this.configureEnvironment()
5858

5959
/*
60-
* Build container
60+
* Prepare container
6161
*/
6262
const containerBuilder = new ContainerBuilder( this )
6363
containerBuilder.configure({ includeComponents: true })
6464

6565
/*
66-
* Create and daemonize databases
66+
* Start and daemonize databases
6767
*/
6868
this.databasesManager = new DatabasesManager( this, containerBuilder.container )
6969
this.databasesManager.load()
7070

71+
/*
72+
* Build container
73+
*/
7174
containerBuilder.addToBuild( 'component.databasesmanager', this.databasesManager )
7275

7376
/*
@@ -110,7 +113,6 @@ class Application extends Configurable {
110113
this.plugAuthentication()
111114
this.router.load()
112115
this.initializePassport()
113-
this.plugMiddlewareLogger()
114116
this.app.use( '/', this.router.scope )
115117
}
116118

@@ -159,6 +161,13 @@ class Application extends Configurable {
159161
*/
160162
this.app.use( bodyParser.json() ) // support json encoded bodies
161163
this.app.use( bodyParser.urlencoded({ extended: true }) ) // support encoded bodies
164+
165+
if ( this.config.app.log ) {
166+
this.app.use( morgan(
167+
':date - [:method :url] - [:status, :response-time ms, :res[content-length] B] - [HTTP/:http-version, :remote-addr, :user-agent]',
168+
{ stream: fs.createWriteStream( `${this.kernel.path.root}/logs/traffic.log`, { flags: 'a' }) }
169+
) )
170+
}
162171
}
163172

164173
/**
@@ -176,9 +185,7 @@ class Application extends Configurable {
176185
}
177186

178187
req.setEncoding( 'utf8' )
179-
req.on( 'data', chunk => {
180-
data += chunk
181-
})
188+
req.on( 'data', chunk => data += chunk )
182189
req.on( 'end', () => {
183190
req.rawBody = data
184191
next()
@@ -210,15 +217,6 @@ class Application extends Configurable {
210217
this.app.use( passport.initialize() )
211218
}
212219

213-
/**
214-
* plugMiddlewareLogger - Trace everything that happens on the server
215-
*/
216-
plugMiddlewareLogger() {
217-
if ( this.config.app.log ) {
218-
this.app.use( morgan( ':date - [:method :url] - [:status, :response-time ms, :res[content-length] B] - [HTTP/:http-version, :remote-addr, :user-agent]', { stream: fs.createWriteStream( `${this.kernel.path.root}/logs/traffic.log`, { flags: 'a' }) }) )
219-
}
220-
}
221-
222220
/**
223221
* getEnv - get node environment
224222
*

‎easy/interfaces/Writer.js‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @class Writer
3+
*/
4+
class Writer {
5+
/**
6+
* Write the message on specific support
7+
*
8+
* @param {string} message
9+
* @param {object} context
10+
*
11+
* @returns {any}
12+
*/
13+
async write( message, context ) {}
14+
}
15+
16+
module.exports = Writer

‎easy/interfaces/index.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ module.exports.Analyzer = require( './Analyzer' )
1111
module.exports.Configurable = require( './Configurable' )
1212
module.exports.Document = require( './Document' )
1313
module.exports.SecurityAccess = require( './SecurityAccess' )
14+
module.exports.Writer = require( './Writer' )

‎easy/log/LogWriter.js‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@
1010
const File = require( '../fs/File' )
1111
const Console = require( '../core/Console' )
1212
const { strtr } = require( '../lib/string' )
13+
const Writer = require( '../interfaces/Writer' )
14+
1315

1416
/**
1517
* @class LogWriter
18+
* @extends {Writer}
1619
*/
17-
class LogWriter {
20+
class LogWriter extendsWriter{
1821
/**
1922
* Creates an instance of LogWriter.
2023
*
@@ -25,6 +28,8 @@ class LogWriter {
2528
* @memberOf LogWriter
2629
*/
2730
constructor( logDirectoryManager ) {
31+
super()
32+
2833
this.logDirectoryManager = logDirectoryManager
2934
}
3035

‎easy/log/Logger.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
class Logger {
2828
/**
2929
* @constructor
30-
* @param {LogWriter} writer
30+
* @param {Writer} writer
3131
*/
3232
constructor( writer ) {
3333
this._writer = writer

‎todo.txt‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
----------| NOW |----------
33
-----------------------------
44

5-
- Réduire le couplage (par exemple dans LogDirectoryManager, enlever application du constructeur et juste envoyer le path du dossier log)
65
- refactor Router, Application, Controller classes
6+
- Voir pour déléguer des tâches entre Application et Kernel ou virer Kernel
7+
- Working on reusable components (Logger, Router, etc.)
78
- pouvoir rm un dossier non vide
89
- faire les tests du vendor
910
- exporter role et user dans un repo externe, importable

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /