2
1
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2023-12-13 21:00:40 +01:00
Ghost/core/server/web/shared/utils.js
Rishabh Garg fcd275f6c0 Refactored web/middleware and web/utils to web/shared (#9892)
refs #9866

- Moved web/middleware to web/shared/middlewares
- Moved util file to web/shared/utils
2018-09-20 20:04:34 +02:00

45 lines
1.2 KiB
JavaScript

const url = require('url');
const _private = {};
_private.removeDoubleCharacters = (character, string) => {
const stringArray = string.split('');
return stringArray.reduce((newString, currentCharacter, index) => {
if (
currentCharacter === character &&
stringArray[index + 1] === character
) {
return newString;
}
return `${newString}${currentCharacter}`;
}, '');
};
module.exports.removeOpenRedirectFromUrl = function removeOpenRedirectFromUrl(urlString) {
const parsedUrl = url.parse(urlString);
return (
// http://
(parsedUrl.protocol ? parsedUrl.protocol + '//' : '') +
(parsedUrl.auth || '') +
(parsedUrl.host || '') +
_private.removeDoubleCharacters('/', parsedUrl.path) +
(parsedUrl.hash || '')
);
};
module.exports.checkFileExists = function checkFileExists(fileData) {
return !!(fileData.mimetype && fileData.path);
};
module.exports.checkFileIsValid = function checkFileIsValid(fileData, types, extensions) {
const type = fileData.mimetype;
if (types.includes(type) && extensions.includes(fileData.ext)) {
return true;
}
return false;
};