Skip to content

Commit

Permalink
move function 'appendQueryString' to 'Utilities'
Browse files Browse the repository at this point in the history
  • Loading branch information
AndriiNyzhnyk committed Jun 9, 2022
1 parent 7358d95 commit 393a3dc
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 22 deletions.
26 changes: 4 additions & 22 deletions lib/index.js
Expand Up @@ -331,8 +331,10 @@ const appendDataContext = function (plugin, settings) {

// append tags from document request to JSON request
settings.jsonPath = request.query.tags
? appendQueryString(settings.jsonPath, 'tags', request.query.tags)
: appendQueryString(settings.jsonPath, null, null)
? Utilities.appendQueryString(settings.jsonPath, 'tags', request.query.tags)
: Utilities.appendQueryString(settings.jsonPath, null, null);

console.log('result', settings.jsonPath);

const prefixedSettings = Hoek.clone(settings);
if (routePrefix) {
Expand All @@ -357,26 +359,6 @@ const appendDataContext = function (plugin, settings) {
});
};

/**
* appends a querystring to a url path - will overwrite existing values
*
* @param {string} url
* @param {string} qsName
* @param {string} qsValue
* @return {string}
*/
const appendQueryString = function (url, qsName, qsValue) {
const urlObj = Url.parse(url);
if (qsName && qsValue) {
urlObj.query = Querystring.parse(qsName + '=' + qsValue);
urlObj.search = '?' + encodeURIComponent(qsName) + '=' + encodeURIComponent(qsValue);
} else {
urlObj.search = '';
}

return urlObj.format(urlObj);
};

/**
* finds any keyPrefix in securityDefinitions - also add x- to name
*
Expand Down
22 changes: 22 additions & 0 deletions lib/utilities.js
@@ -1,5 +1,7 @@
const Hoek = require('@hapi/hoek');
const Joi = require('joi');
const Url = require('url');
const Querystring = require('querystring');

const utilities = (module.exports = {});

Expand Down Expand Up @@ -466,3 +468,23 @@ utilities.assignVendorExtensions = function(target, source) {

return target;
};

/**
* appends a querystring to a url path - will overwrite existing values
*
* @param {string} url
* @param {string} qsName
* @param {string} qsValue
* @return {string}
*/
utilities.appendQueryString = function (url, qsName, qsValue) {
const urlObj = Url.parse(url);
if (qsName && qsValue) {
urlObj.query = Querystring.parse(qsName + '=' + qsValue);
urlObj.search = '?' + encodeURIComponent(qsName) + '=' + encodeURIComponent(qsValue);
} else {
urlObj.search = '';
}

return urlObj.format(urlObj);
};

0 comments on commit 393a3dc

Please sign in to comment.