Ejemplo n.º 1
0
        internal static bool IsRawBinaryRequest(this OutputFormatterCanWriteContext context, Type type)
        {
            if (type == typeof(Binary) || (type == typeof(FhirResponse)) && ((FhirResponse)context.Object).Resource is Binary)
            {
                HttpRequest request         = context.HttpContext.Request;
                bool        isFhirMediaType = false;
                if (request.Method == "GET")
                {
                    isFhirMediaType = request.IsAcceptHeaderFhirMediaType();
                }
                else if (request.Method == "POST" || request.Method == "PUT")
                {
                    isFhirMediaType = HttpRequestExtensions.IsContentTypeHeaderFhirMediaType(request.ContentType);
                }

                var ub = new UriBuilder(request.GetRequestUri());
                // TODO: KM: Path matching is not optimal should be replaced by a more solid solution.
                return(ub.Path.Contains("Binary") &&
                       !isFhirMediaType);
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        internal static bool IsRawBinaryPostOrPutRequest(this HttpRequest request)
        {
            var ub = new UriBuilder(request.GetRequestUri());

            // TODO: KM: Path matching is not optimal should be replaced by a more solid solution.
            return(ub.Path.Contains("Binary") &&
                   !HttpRequestExtensions.IsContentTypeHeaderFhirMediaType(request.ContentType) &&
                   (request.Method == "POST" || request.Method == "PUT"));
        }