From 14c9bbdc8696cb05e08b6ec8df1bbbcfa1d5ccf0 Mon Sep 17 00:00:00 2001 From: Michaela Brydon Date: Tue, 25 Jun 2024 12:26:31 -0400 Subject: [PATCH] Encoding slashes --- src/helpers/url-query-string-encoder.js | 8 ++++++++ src/store/index.js | 8 ++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 src/helpers/url-query-string-encoder.js diff --git a/src/helpers/url-query-string-encoder.js b/src/helpers/url-query-string-encoder.js new file mode 100644 index 00000000..715991dd --- /dev/null +++ b/src/helpers/url-query-string-encoder.js @@ -0,0 +1,8 @@ +/** + * Replaces all instances of '/' with '%2F' + * @param {string} parameter + * @returns string with '/' replaced with '%2F' + */ +export default function encodeParameter(parameter) { + return parameter.split('/').join('%2F') +} \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 1570bf3b..4f6b210c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -28,6 +28,7 @@ import partNumberStrings from '@/constants/part-number-strings'; import { getLineItemsFlattened } from '@/helpers/line-items-helper'; import { buildQueryStringParameterFromArrayOfComplexObjects, getLineItemQueryString, getTaxLineItemQueryString } from '@/helpers/querystring-helper'; import coverageType from '@/constants/coverage-type'; +import encodeParameter from '@/helpers/url-query-string-encoder'; const storeId = 'main'; @@ -477,17 +478,20 @@ export const useMainStore = defineStore({ }, getVehicleModels() { + const encodedMake = encodeParameter(this.order.vehicle.make); return globalMethods.callHttpClient({ method: endpoints.GetVehicleModels.method, - endpoint: `${endpoints.GetVehicleModels.url}/${this.order.vehicle.year}/${this.order.vehicle.make}`, + endpoint: `${endpoints.GetVehicleModels.url}/${this.order.vehicle.year}/${encodedMake}`, payload: {} }); }, getVehicleStyles() { + const encodedMake = encodeParameter(this.order.vehicle.make); + const encodedModel = encodeParameter(this.order.vehicle.model); return globalMethods.callHttpClient({ method: endpoints.GetVehicleStyles.method, - endpoint: `${endpoints.GetVehicleStyles.url}/${this.order.vehicle.year}/${this.order.vehicle.make}/${this.order.vehicle.model}`, + endpoint: `${endpoints.GetVehicleStyles.url}/${this.order.vehicle.year}/${encodedMake}/${encodedModel}`, payload: {} }); },