AIRAVATA-3580 /api/experiment-storage: encodes experiment id but not 'path'
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/service_config.js b/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
index 812df78..86c6006 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
@@ -233,7 +233,8 @@
         url: "/api/experiment-storage/<experimentId>/<path>",
         requestType: "get",
         modelClass: ExperimentStoragePath,
-        encodePathParams: true,
+        // NOTE: caller needs to explicitly escape experimentId, but path shouldn't be escaped
+        encodePathParams: false,
       },
     },
   },
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStorageViewContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStorageViewContainer.vue
index de45de6..a420c1c 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStorageViewContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/ExperimentStorageViewContainer.vue
@@ -60,7 +60,9 @@
     loadExperimentStoragePath(path) {
       return services.ExperimentStoragePathService.get(
         {
-          experimentId: this.experimentId,
+          // ExperimentStoragePathService doesn't encode path parameters so must
+          // explicitly encode experiment id
+          experimentId: encodeURIComponent(this.experimentId),
           path,
         },
         { ignoreErrors: true }