public HttpResponseMessage GetInstance ( [ModelBinder(typeof(RsObjectRequestModelBinder))] IWadoRsInstanceRequest request ) { return(WadoService.RetrieveInstance(request)); }
public HttpResponseMessage GetInstanceMetadata ( [ModelBinder(typeof(RsObjectRequestModelBinder))] IWadoRsInstanceRequest request ) { try { return(WadoService.RetrieveInstanceMetadata(request)); } catch (Exception ex) { return(new HttpResponseMessage() { Content = new StringContent(ex.ToJson()) }); } }
public virtual HttpResponseMessage RetrieveInstanceMetadata(IWadoRsInstanceRequest request) { if (IsMultiPartRequest(request)) { var subMediaHeader = MultipartResponseHelper.GetSubMediaType(request.AcceptHeader.FirstOrDefault( )); if (null == subMediaHeader || subMediaHeader != MimeMediaTypes.xmlDicom) { return(new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)); } return(RetrieveMultipartInstance(request, request)); //should be an XML request! } else //must be json, or just return json anyway (*/*) { return(ProcessJsonRequest(request, request)); } }
public virtual HttpResponseMessage RetrieveBulkData(IWadoRsInstanceRequest request) { //TODO: validation accept header is not dicom... return(RetrieveMultipartInstance(request, request)); }
public virtual HttpResponseMessage RetrieveInstance(IWadoRsInstanceRequest request) { return(RetrieveMultipartInstance(request, request)); }
public virtual bool TryParse(HttpRequestMessage request, ModelBindingContext bindingContext, out T result) { var query = request.RequestUri.ParseQueryString( ); result = null; if (typeof(T) == typeof(IWadoRsStudiesRequest)) { IWadoRsStudiesRequest wadoReq = CreateWadoRsStudiesRequestModel( ); FillStudyParams(bindingContext.ValueProvider, wadoReq); wadoReq.QueryLevel = ObjectQueryLevel.Study; result = wadoReq as T; } if (typeof(T) == typeof(IWadoRsSeriesRequest)) { IWadoRsSeriesRequest wadoReq = CreateWadoRsSeriesRequestModel( ); FillSeriesParams(bindingContext.ValueProvider, wadoReq); wadoReq.QueryLevel = ObjectQueryLevel.Series; result = wadoReq as T; } if (typeof(T) == typeof(IWadoRsInstanceRequest)) { IWadoRsInstanceRequest wadoReq = CreateWadoRsInstanceRequestModel( ); FillInstanceParams(bindingContext.ValueProvider, wadoReq); wadoReq.QueryLevel = ObjectQueryLevel.Instance; result = wadoReq as T; } if (typeof(T) == typeof(IWadoRsFramesRequest)) { IWadoRsFramesRequest wadoReq = CreateWadoRsFramesRequestModel( ); FillIFramesParams(bindingContext.ValueProvider, wadoReq); wadoReq.QueryLevel = ObjectQueryLevel.Instance; result = wadoReq as T; } if (null != result) { WadoRsRequestBase reqBase = result as WadoRsRequestBase; reqBase.Headers = request.Headers; reqBase.AcceptHeader = request.Headers.Accept; reqBase.AcceptCharsetHeader = request.Headers.AcceptCharset; reqBase.QueryLevel = ObjectQueryLevel.Instance; return(true); } else { return(false); } }
protected virtual void FillInstanceParams(IValueProvider valueProvider, IWadoRsInstanceRequest result) { FillSeriesParams(valueProvider, result); result.SOPInstanceUID = valueProvider.GetValue("SOPInstanceUID").RawValue as string; }