Пример #1
0
        private static async Task <InputFormatterResult> ReadRequestBody(string sampleXml, ModelStateDictionary modelStateDictionary)
        {
            var formatter = new FhirXmlInputFormatter(new FhirXmlParser());

            var metaData           = new DefaultModelMetadata(new EmptyModelMetadataProvider(), new DefaultCompositeMetadataDetailsProvider(new IMetadataDetailsProvider[0]), new DefaultMetadataDetails(ModelMetadataIdentity.ForType(typeof(Observation)), ModelAttributes.GetAttributesForType(typeof(Observation))));
            var defaultHttpContext = new DefaultHttpContext();

            defaultHttpContext.Request.Body = new MemoryStream(Encoding.UTF8.GetBytes(sampleXml));

            var context = new InputFormatterContext(
                defaultHttpContext,
                KnownActionParameterNames.Resource,
                modelStateDictionary,
                metaData,
                Substitute.For <Func <Stream, Encoding, TextReader> >());

            return(await formatter.ReadRequestBodyAsync(context));
        }