public async Task <RetrieveResourceResponse> Handle(
            RetrieveResourceRequest request, CancellationToken cancellationToken)
        {
            EnsureArg.IsNotNull(request, nameof(request));

            ValidateRetrieveResourceRequest(request);

            return(await _retrieveResourceService.GetInstanceResourceAsync(request, cancellationToken));
        }
예제 #2
0
        public async Task <RetrieveResourceResponse> Handle(
            RetrieveResourceRequest request, CancellationToken cancellationToken)
        {
            EnsureArg.IsNotNull(request, nameof(request));

            if (await AuthorizationService.CheckAccess(DataActions.Read, cancellationToken) != DataActions.Read)
            {
                throw new UnauthorizedDicomActionException(DataActions.Read);
            }

            ValidateRetrieveResourceRequest(request);

            return(await _retrieveResourceService.GetInstanceResourceAsync(request, cancellationToken));
        }
예제 #3
0
        public async Task GivenARequestWithValidInstanceIdentifier_WhenRetrievingFrames_ThenNoExceptionIsThrown()
        {
            string studyInstanceUid  = TestUidGenerator.Generate();
            string seriesInstanceUid = TestUidGenerator.Generate();
            string sopInstanceUid    = TestUidGenerator.Generate();

            RetrieveResourceResponse expectedResponse = new RetrieveResourceResponse(Enumerable.Empty <Stream>(), KnownContentTypes.ApplicationOctetStream);
            RetrieveResourceRequest  request          = new RetrieveResourceRequest(studyInstanceUid, seriesInstanceUid, sopInstanceUid, new List <int> {
                1
            }, new[] { AcceptHeaderHelpers.CreateAcceptHeaderForGetFrame() });

            _retrieveResourceService.GetInstanceResourceAsync(request, CancellationToken.None).Returns(expectedResponse);

            RetrieveResourceResponse response = await _retrieveResourceHandler.Handle(request, CancellationToken.None);

            Assert.Same(expectedResponse, response);
        }