Skip to content

Commit c7f3054

Browse files
committed
refactor: ES6 code
Refactored all the code and the build process to ue ES6
1 parent 103873c commit c7f3054

File tree

5 files changed

+34
-31
lines changed

5 files changed

+34
-31
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,4 @@ typings/
5757
# dotenv environment variables file
5858
.env
5959

60+
lib

bin/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#!/usr/bin/env node
2-
require('../index');
2+
require('../lib/index');

index.js renamed to src/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
1-
const opt = require('node-getopt').create([
1+
import nodegetopt from 'node-getopt';
2+
import server from './server';
3+
4+
const opt = nodegetopt.create([
25
['p', 'port=PORT', 'server port (default 5000)'],
36
['', 'chunknumber=CHUNKNUMBER', "chunk number parameter (default 'chunknumber')"],
47
['', 'totalsize=TOTALSIZE', "total size parameter (default 'totalsize')"],
58
['', 'storageType=TYPE', "disk or memory (default 'memory')"],
69
['', 'storagePath=PATH', "where to save files (default '/tmp')"],
710
]).bindHelp().parseSystem().options;
811

9-
const server = require('./src/server.js');
10-
1112
server.run({
1213
chunkNumber: opt.chunknumber,
1314
port: (opt.port || process.env.PORT || 5000),

log.js renamed to src/log.js

File renamed without changes.

src/server.js

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
const fs = require('fs');
2-
const express = require('express');
3-
const cors = require('cors');
4-
const multer = require('multer');
5-
const bodyParser = require('body-parser');
6-
const fileService = require('./file-service');
7-
const logger = require('../log');
1+
import { existsSync } from 'fs';
2+
import express from 'express';
3+
import cors from 'cors';
4+
import multer, { diskStorage, memoryStorage } from 'multer';
5+
import { urlencoded, json } from 'body-parser';
6+
import { writeFile, getFileSize, readFile, removeFile, writeFileChunk, assembleFileChunks } from './file-service';
7+
import { verbose, info, error } from '../log';
88

99
/* eslint-disable no-underscore-dangle */
1010
const saveFile = (request, response, filename) => {
11-
logger.verbose('Saving file', request.file, filename);
12-
const result = fileService.writeFile(request.file);
11+
verbose('Saving file', request.file, filename);
12+
const result = writeFile(request.file);
1313
if (request.query._postmessage) {
1414
if (request.query._postmessageid) {
1515
result.data._postmessageid = request.query._postmessageid;
@@ -24,18 +24,18 @@ const saveFile = (request, response, filename) => {
2424
};
2525
/* eslint-enable no-underscore-dangle */
2626

27-
module.exports = {
27+
export default {
2828
init(options) {
2929
let storage;
3030
if (options.storage.type === 'disk') {
31-
logger.info('Using disk storage', (options.storage.path || '/tmp'));
31+
info('Using disk storage', (options.storage.path || '/tmp'));
3232

33-
if (options.storage.path && !fs.existsSync(options.storage.pathh)) {
34-
logger.error(options.storage.path, 'does not exist');
33+
if (options.storage.path && !existsSync(options.storage.pathh)) {
34+
error(options.storage.path, 'does not exist');
3535
throw new Error(`${options.storage.path} does not exist`);
3636
}
3737

38-
storage = multer.diskStorage({
38+
storage = diskStorage({
3939
destination(req, file, cb) {
4040
cb(null, (options.storage.path || '/tmp'));
4141
},
@@ -44,29 +44,29 @@ module.exports = {
4444
},
4545
});
4646
} else {
47-
logger.info('Using memory storage');
48-
storage = multer.memoryStorage();
47+
info('Using memory storage');
48+
storage = memoryStorage();
4949
}
5050
const upload = multer({ storage });
5151

5252
const app = express();
53-
app.use(bodyParser.urlencoded({
53+
app.use(urlencoded({
5454
extended: true,
5555
}));
56-
app.use(bodyParser.json());
56+
app.use(json());
5757
app.use(cors());
5858

5959
app.get('/files/:filename/size', (request, response) => {
60-
const result = fileService.getFileSize(request.params.filename);
60+
const result = getFileSize(request.params.filename);
6161
response.status(result.status).send(result.data);
6262
});
6363

6464
app.get('/files/:filename', (request, response) => {
65-
const result = fileService.readFile(request.params.filename);
65+
const result = readFile(request.params.filename);
6666
response.status(result.status).send(result.data);
6767
});
6868
app.delete('/files/:filename', (request, response) => {
69-
const result = fileService.removeFile(request.params.filename);
69+
const result = removeFile(request.params.filename);
7070
response.status(result.status);
7171
});
7272

@@ -79,7 +79,7 @@ module.exports = {
7979
});
8080

8181
app.post('/chunk/:filename', upload.single('file'), (request, response) => {
82-
const result = fileService.writeFileChunk(
82+
const result = writeFileChunk(
8383
request.params.filename,
8484
request.file.buffer,
8585
request.body[options.chunkNumber || 'chunknumber']
@@ -88,7 +88,7 @@ module.exports = {
8888
});
8989

9090
app.post('/assemble/:filename', (request, response) => {
91-
const result = fileService.assembleFileChunks(
91+
const result = assembleFileChunks(
9292
request.params.filename,
9393
request.body[options.totalSize || 'totalsize']
9494
);
@@ -99,12 +99,13 @@ module.exports = {
9999
},
100100

101101
run(options) {
102-
logger.info('================================');
103-
logger.info('>>> Express REST file server <<<');
104-
logger.info('================================');
102+
info('================================');
103+
info('>>> Express REST file server <<<');
104+
info('================================');
105105
const server = this.init(options);
106106
server.listen(options.port, () => {
107-
logger.info('Listening on', options.port);
107+
info('Listening on', options.port);
108108
});
109109
},
110110
};
111+

0 commit comments

Comments
 (0)