WIP (not tested yet)
This commit is contained in:
parent
ad3ef3e8ef
commit
fa73a458bd
@ -67,6 +67,17 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
|
|
||||||
const dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
|
const dicomWebConfigCopy = JSON.parse(JSON.stringify(dicomWebConfig));
|
||||||
|
|
||||||
|
const getAuthrorizationHeader = () => {
|
||||||
|
const xhrRequestHeaders = {};
|
||||||
|
const authHeaders = userAuthenticationService.getAuthorizationHeader();
|
||||||
|
if (authHeaders && authHeaders.Authorization) {
|
||||||
|
xhrRequestHeaders.Authorization = authHeaders.Authorization;
|
||||||
|
}
|
||||||
|
return xhrRequestHeaders;
|
||||||
|
};
|
||||||
|
|
||||||
|
const generateWadoHeader = () => {
|
||||||
|
let baseHeader = getAuthrorizationHeader();
|
||||||
//Generate accept header depending on config params
|
//Generate accept header depending on config params
|
||||||
let formattedAcceptHeader = utils.generateAcceptHeader(
|
let formattedAcceptHeader = utils.generateAcceptHeader(
|
||||||
acceptHeader,
|
acceptHeader,
|
||||||
@ -74,19 +85,17 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
omitQuotationForMultipartRequest
|
omitQuotationForMultipartRequest
|
||||||
);
|
);
|
||||||
|
|
||||||
const authHeaders = userAuthenticationService.getAuthorizationHeader();
|
return {
|
||||||
|
...baseHeader,
|
||||||
const xhrRequestHeaders = {};
|
Accept: formattedAcceptHeader,
|
||||||
|
};
|
||||||
if (authHeaders && authHeaders.Authorization) {
|
};
|
||||||
xhrRequestHeaders.Authorization = authHeaders.Authorization;
|
|
||||||
}
|
|
||||||
|
|
||||||
const qidoConfig = {
|
const qidoConfig = {
|
||||||
url: qidoRoot,
|
url: qidoRoot,
|
||||||
staticWado,
|
staticWado,
|
||||||
singlepart,
|
singlepart,
|
||||||
headers: xhrRequestHeaders,
|
headers: getAuthrorizationHeader(),
|
||||||
errorInterceptor: errorHandler.getHTTPErrorHandler(),
|
errorInterceptor: errorHandler.getHTTPErrorHandler(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -94,10 +103,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
url: wadoRoot,
|
url: wadoRoot,
|
||||||
staticWado,
|
staticWado,
|
||||||
singlepart,
|
singlepart,
|
||||||
headers: {
|
headers: generateWadoHeader(),
|
||||||
...xhrRequestHeaders,
|
|
||||||
Accept: formattedAcceptHeader,
|
|
||||||
},
|
|
||||||
errorInterceptor: errorHandler.getHTTPErrorHandler(),
|
errorInterceptor: errorHandler.getHTTPErrorHandler(),
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -131,6 +137,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
studies: {
|
studies: {
|
||||||
mapParams: mapParams.bind(),
|
mapParams: mapParams.bind(),
|
||||||
search: async function(origParams) {
|
search: async function(origParams) {
|
||||||
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
||||||
const { studyInstanceUid, seriesInstanceUid, ...mappedParams } =
|
const { studyInstanceUid, seriesInstanceUid, ...mappedParams } =
|
||||||
mapParams(origParams, {
|
mapParams(origParams, {
|
||||||
supportsFuzzyMatching,
|
supportsFuzzyMatching,
|
||||||
@ -151,6 +158,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
series: {
|
series: {
|
||||||
// mapParams: mapParams.bind(),
|
// mapParams: mapParams.bind(),
|
||||||
search: async function(studyInstanceUid) {
|
search: async function(studyInstanceUid) {
|
||||||
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
||||||
const results = await seriesInStudy(
|
const results = await seriesInStudy(
|
||||||
qidoDicomWebClient,
|
qidoDicomWebClient,
|
||||||
studyInstanceUid
|
studyInstanceUid
|
||||||
@ -162,6 +170,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
},
|
},
|
||||||
instances: {
|
instances: {
|
||||||
search: (studyInstanceUid, queryParameters) => {
|
search: (studyInstanceUid, queryParameters) => {
|
||||||
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
||||||
qidoSearch.call(
|
qidoSearch.call(
|
||||||
undefined,
|
undefined,
|
||||||
qidoDicomWebClient,
|
qidoDicomWebClient,
|
||||||
@ -188,6 +197,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
return getDirectURL({ wadoRoot, singlepart }, params);
|
return getDirectURL({ wadoRoot, singlepart }, params);
|
||||||
},
|
},
|
||||||
bulkDataURI: async ({ StudyInstanceUID, BulkDataURI }) => {
|
bulkDataURI: async ({ StudyInstanceUID, BulkDataURI }) => {
|
||||||
|
qidoDicomWebClient.headers = getAuthrorizationHeader();
|
||||||
const options = {
|
const options = {
|
||||||
multipart: false,
|
multipart: false,
|
||||||
BulkDataURI,
|
BulkDataURI,
|
||||||
@ -235,12 +245,12 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
|
|
||||||
store: {
|
store: {
|
||||||
dicom: async (dataset, request) => {
|
dicom: async (dataset, request) => {
|
||||||
|
wadoDicomWebClient.headers = generateWadoHeader();
|
||||||
if (dataset instanceof ArrayBuffer) {
|
if (dataset instanceof ArrayBuffer) {
|
||||||
const options = {
|
const options = {
|
||||||
datasets: [dataset],
|
datasets: [dataset],
|
||||||
request,
|
request,
|
||||||
};
|
};
|
||||||
|
|
||||||
await wadoDicomWebClient.storeInstances(options);
|
await wadoDicomWebClient.storeInstances(options);
|
||||||
} else {
|
} else {
|
||||||
const meta = {
|
const meta = {
|
||||||
@ -278,7 +288,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
madeInClient
|
madeInClient
|
||||||
) => {
|
) => {
|
||||||
const enableStudyLazyLoad = false;
|
const enableStudyLazyLoad = false;
|
||||||
|
wadoDicomWebClient.headers = generateWadoHeader();
|
||||||
// data is all SOPInstanceUIDs
|
// data is all SOPInstanceUIDs
|
||||||
const data = await retrieveStudyMetadata(
|
const data = await retrieveStudyMetadata(
|
||||||
wadoDicomWebClient,
|
wadoDicomWebClient,
|
||||||
@ -349,6 +359,7 @@ function createDicomWebApi(dicomWebConfig, userAuthenticationService) {
|
|||||||
madeInClient = false
|
madeInClient = false
|
||||||
) => {
|
) => {
|
||||||
const enableStudyLazyLoad = true;
|
const enableStudyLazyLoad = true;
|
||||||
|
wadoDicomWebClient.headers = generateWadoHeader();
|
||||||
// Get Series
|
// Get Series
|
||||||
const {
|
const {
|
||||||
preLoadData: seriesSummaryMetadata,
|
preLoadData: seriesSummaryMetadata,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user