Forráskód Böngészése

companion: Zoom Plugin - Fix cases where a meeting UUID has slashes (#2526)

* Add double encoding for uuids with slashes

* Add comment explaining uuid vs id and double encoding
mokutsu-coursera 4 éve
szülő
commit
12f9f5f2f5

+ 2 - 1
packages/@uppy/companion/src/server/provider/zoom/adapter.js

@@ -108,7 +108,8 @@ exports.getRequestPath = (item) => {
   } else if (item.file_type) {
     return `${encodeURIComponent(item.meeting_id)}?recordingId=${encodeURIComponent(item.id)}`
   }
-  return `${encodeURIComponent(item.uuid)}`
+  // Zoom meeting ids are reused so we need to use the UUID. Also, these UUIDs can contain `/` characters which require double encoding (see https://devforum.zoom.us/t/double-encode-meeting-uuids/23729)
+  return `${encodeURIComponent(encodeURIComponent(item.uuid))}`
 }
 
 exports.getStartDate = (item) => {

+ 1 - 1
packages/@uppy/companion/src/server/provider/zoom/index.js

@@ -76,7 +76,7 @@ class Zoom extends Provider {
           })
       })
     } else if (meetingId) {
-      const GET_MEETING_FILES = `/meetings/${meetingId}/recordings`
+      const GET_MEETING_FILES = `/meetings/${encodeURIComponent(meetingId)}/recordings`
       recordingsPromise = new Promise((resolve, reject) => {
         this.client
           .get(`${BASE_URL}${GET_MEETING_FILES}`)