You've already forked joplin
mirror of
https://github.com/laurent22/joplin.git
synced 2025-06-15 23:00:36 +02:00
First pass at linting lib dir
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
const { netUtils } = require('lib/net-utils');
|
||||
const urlParser = require("url");
|
||||
const urlParser = require('url');
|
||||
const Setting = require('lib/models/Setting');
|
||||
const { Logger } = require('lib/logger.js');
|
||||
const randomClipperPort = require('lib/randomClipperPort');
|
||||
@ -9,7 +9,6 @@ const ApiResponse = require('lib/services/rest/ApiResponse');
|
||||
const multiparty = require('multiparty');
|
||||
|
||||
class ClipperServer {
|
||||
|
||||
constructor() {
|
||||
this.logger_ = new Logger();
|
||||
this.startState_ = 'idle';
|
||||
@ -72,7 +71,7 @@ class ClipperServer {
|
||||
if (!inUse) return state.port;
|
||||
}
|
||||
|
||||
throw new Error('All potential ports are in use or not available.')
|
||||
throw new Error('All potential ports are in use or not available.');
|
||||
}
|
||||
|
||||
async start() {
|
||||
@ -92,51 +91,54 @@ class ClipperServer {
|
||||
this.server_ = require('http').createServer();
|
||||
|
||||
this.server_.on('request', async (request, response) => {
|
||||
|
||||
const writeCorsHeaders = (code, contentType = "application/json", additionalHeaders = null) => {
|
||||
const headers = Object.assign({}, {
|
||||
"Content-Type": contentType,
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
|
||||
'Access-Control-Allow-Headers': 'X-Requested-With,content-type',
|
||||
}, additionalHeaders ? additionalHeaders : {});
|
||||
const writeCorsHeaders = (code, contentType = 'application/json', additionalHeaders = null) => {
|
||||
const headers = Object.assign(
|
||||
{},
|
||||
{
|
||||
'Content-Type': contentType,
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
|
||||
'Access-Control-Allow-Headers': 'X-Requested-With,content-type',
|
||||
},
|
||||
additionalHeaders ? additionalHeaders : {}
|
||||
);
|
||||
response.writeHead(code, headers);
|
||||
}
|
||||
};
|
||||
|
||||
const writeResponseJson = (code, object) => {
|
||||
writeCorsHeaders(code);
|
||||
response.write(JSON.stringify(object));
|
||||
response.end();
|
||||
}
|
||||
};
|
||||
|
||||
const writeResponseText = (code, text) => {
|
||||
writeCorsHeaders(code, 'text/plain');
|
||||
response.write(text);
|
||||
response.end();
|
||||
}
|
||||
};
|
||||
|
||||
const writeResponseInstance = (code, instance) => {
|
||||
if (instance.type === 'attachment') {
|
||||
const filename = instance.attachmentFilename ? instance.attachmentFilename : 'file';
|
||||
writeCorsHeaders(code, instance.contentType ? instance.contentType : 'application/octet-stream', {
|
||||
'Content-disposition': 'attachment; filename=' + filename,
|
||||
'Content-Length': instance.body.length,
|
||||
});
|
||||
response.end(instance.body);
|
||||
} else {
|
||||
throw new Error('Not implemented');
|
||||
}
|
||||
}
|
||||
if (instance.type === 'attachment') {
|
||||
const filename = instance.attachmentFilename ? instance.attachmentFilename : 'file';
|
||||
writeCorsHeaders(code, instance.contentType ? instance.contentType : 'application/octet-stream', {
|
||||
'Content-disposition': 'attachment; filename=' + filename,
|
||||
'Content-Length': instance.body.length,
|
||||
});
|
||||
response.end(instance.body);
|
||||
} else {
|
||||
throw new Error('Not implemented');
|
||||
}
|
||||
};
|
||||
|
||||
const writeResponse = (code, response) => {
|
||||
if (response instanceof ApiResponse) {
|
||||
writeResponseInstance(code, response);
|
||||
writeResponseInstance(code, response);
|
||||
} else if (typeof response === 'string') {
|
||||
writeResponseText(code, response);
|
||||
} else {
|
||||
writeResponseJson(code, response);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.logger().info('Request: ' + request.method + ' ' + request.url);
|
||||
|
||||
@ -155,7 +157,7 @@ class ClipperServer {
|
||||
|
||||
writeResponse(httpCode, { error: msg.join(': ') });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const contentType = request.headers['content-type'] ? request.headers['content-type'] : '';
|
||||
|
||||
@ -164,25 +166,21 @@ class ClipperServer {
|
||||
response.end();
|
||||
} else {
|
||||
if (contentType.indexOf('multipart/form-data') === 0) {
|
||||
const form = new multiparty.Form();
|
||||
const form = new multiparty.Form();
|
||||
|
||||
form.parse(request, function(error, fields, files) {
|
||||
if (error) {
|
||||
form.parse(request, function(error, fields, files) {
|
||||
if (error) {
|
||||
writeResponse(error.httpCode ? error.httpCode : 500, error.message);
|
||||
return;
|
||||
} else {
|
||||
execRequest(
|
||||
request,
|
||||
fields && fields.props && fields.props.length ? fields.props[0] : '',
|
||||
files && files.data ? files.data : []
|
||||
);
|
||||
execRequest(request, fields && fields.props && fields.props.length ? fields.props[0] : '', files && files.data ? files.data : []);
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
if (request.method === 'POST' || request.method === 'PUT') {
|
||||
let body = '';
|
||||
|
||||
request.on('data', (data) => {
|
||||
request.on('data', data => {
|
||||
body += data;
|
||||
});
|
||||
|
||||
@ -211,7 +209,6 @@ class ClipperServer {
|
||||
this.setStartState('idle');
|
||||
this.setPort(null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = ClipperServer;
|
||||
module.exports = ClipperServer;
|
||||
|
Reference in New Issue
Block a user