From 58aa0d1eaae2e1a8103e6096864a4e5d7baf090e Mon Sep 17 00:00:00 2001 From: Nilesh Gautam <110233754+Omnipotent-coder0@users.noreply.github.com> Date: Tue, 11 Nov 2025 02:38:50 +0530 Subject: [PATCH] fix(dev): update webpack proxy config syntax for Orthanc dev mode (#5531) * fix(dev): update webpack proxy config syntax for Orthanc dev mode * Add datasources and rename dicomweb to orthancProxy datasource --------- Co-authored-by: Nilesh Gautam Co-authored-by: Bill Wallace --- platform/app/.webpack/webpack.pwa.js | 7 ++- .../app/public/config/docker-nginx-orthanc.js | 57 ++++++++++++++++++- 2 files changed, 59 insertions(+), 5 deletions(-) diff --git a/platform/app/.webpack/webpack.pwa.js b/platform/app/.webpack/webpack.pwa.js index c8b138d4a..59545cdb6 100644 --- a/platform/app/.webpack/webpack.pwa.js +++ b/platform/app/.webpack/webpack.pwa.js @@ -183,15 +183,16 @@ module.exports = (env, argv) => { if (hasProxy) { mergedConfig.devServer.proxy = mergedConfig.devServer.proxy || {}; - mergedConfig.devServer.proxy = { - [PROXY_TARGET]: { + mergedConfig.devServer.proxy = [ + { + context: [PROXY_PATH_REWRITE_FROM || '/dicomweb'], target: PROXY_DOMAIN, changeOrigin: true, pathRewrite: { [`^${PROXY_PATH_REWRITE_FROM}`]: PROXY_PATH_REWRITE_TO, }, }, - }; + ]; } if (isProdBuild) { diff --git a/platform/app/public/config/docker-nginx-orthanc.js b/platform/app/public/config/docker-nginx-orthanc.js index 90abe162e..820ef8fb0 100644 --- a/platform/app/public/config/docker-nginx-orthanc.js +++ b/platform/app/public/config/docker-nginx-orthanc.js @@ -16,11 +16,11 @@ window.config = { maxNumPrefetchRequests: 10, order: 'closest', }, - defaultDataSourceName: 'dicomweb', + defaultDataSourceName: 'orthancProxy', dataSources: [ { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', - sourceName: 'dicomweb', + sourceName: 'orthancProxy', configuration: { friendlyName: 'Orthanc Server', name: 'Orthanc', @@ -34,6 +34,59 @@ window.config = { omitQuotationForMultipartRequest: true, }, }, + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'ohif', + configuration: { + friendlyName: 'AWS S3 Static wado server', + name: 'aws', + wadoUriRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', + qidoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', + wadoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + enableStudyLazyLoad: true, + supportsFuzzyMatching: true, + supportsWildcard: false, + staticWado: true, + singlepart: 'bulkdata,video', + // whether the data source should use retrieveBulkData to grab metadata, + // and in case of relative path, what would it be relative to, options + // are in the series level or study level (some servers like series some study) + bulkDataURI: { + enabled: true, + relativeResolution: 'studies', + transform: url => url.replace('/pixeldata.mp4', '/rendered'), + }, + omitQuotationForMultipartRequest: true, + }, + }, + { + namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', + sourceName: 'local5000', + configuration: { + friendlyName: 'Static WADO Local Data', + name: 'DCM4CHEE', + qidoRoot: 'http://localhost:5000/dicomweb', + wadoRoot: 'http://localhost:5000/dicomweb', + qidoSupportsIncludeField: false, + supportsReject: true, + supportsStow: true, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + enableStudyLazyLoad: true, + supportsFuzzyMatching: false, + supportsWildcard: true, + staticWado: true, + singlepart: 'video', + bulkDataURI: { + enabled: true, + relativeResolution: 'studies', + }, + }, + }, + { namespace: '@ohif/extension-default.dataSourcesModule.dicomjson', sourceName: 'dicomjson',