コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the JsonProtocolQueryVerifier class
 /// </summary>
 /// <param name="service">The data service descriptor.</param>
 /// <param name="verifiers">The resource string verifiers.</param>
 public JsonProtocolQueryVerifier(IAstoriaServiceDescriptor service, IAstoriaStringResourceVerifiers verifiers)
     : base(
         MimeTypes.ApplicationJsonODataLightStreaming,
         service.ServiceUri,
         service.ConceptualModel.GetMaxProtocolVersion(),
         verifiers.SystemDataServicesStringVerifier)
 {
 }
コード例 #2
0
 /// <summary>
 /// Initializes a new instance of the JsonProtocolQueryVerifier class
 /// </summary>
 /// <param name="service">The data service descriptor.</param>
 /// <param name="verifiers">The resource string verifiers.</param>
 public JsonProtocolQueryVerifier(IAstoriaServiceDescriptor service, IAstoriaStringResourceVerifiers verifiers)
     : base(
         MimeTypes.ApplicationJsonODataLightStreaming,
         service.ServiceUri,
         service.ConceptualModel.GetMaxProtocolVersion(),
         verifiers.SystemDataServicesStringVerifier)
 {
 }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the XmlProtocolQueryVerifier class
 /// </summary>
 /// <param name="service">The data service descriptor.</param>
 /// <param name="verifiers">The resource string verifiers.</param>
 public XmlProtocolQueryVerifier(IAstoriaServiceDescriptor service, IAstoriaStringResourceVerifiers verifiers)
     : base(
         MimeTypes.ApplicationAtomXml + "," + MimeTypes.ApplicationXml,
         service.ServiceUri,
         service.ConceptualModel.GetMaxProtocolVersion(),
         verifiers.SystemDataServicesStringVerifier)
 {
 }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the XmlProtocolQueryVerifier class
 /// </summary>
 /// <param name="service">The data service descriptor.</param>
 /// <param name="verifiers">The resource string verifiers.</param>
 public XmlProtocolQueryVerifier(IAstoriaServiceDescriptor service, IAstoriaStringResourceVerifiers verifiers)
     : base(
         MimeTypes.ApplicationAtomXml + "," + MimeTypes.ApplicationXml,
         service.ServiceUri,
         service.ConceptualModel.GetMaxProtocolVersion(),
         verifiers.SystemDataServicesStringVerifier)
 {
 }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PayloadReaderVersionErrorCalculator"/> class.
 /// </summary>
 /// <param name="verifiers">The string resource verifiers</param>
 public PayloadReaderVersionErrorCalculator(IAstoriaStringResourceVerifiers verifiers)
 {
     this.verifiers = verifiers;
 }
コード例 #6
0
        internal static bool TryCalculateReaderError(ODataPayloadElement payload, DataServiceProtocolVersion dataServiceVersion, IAstoriaStringResourceVerifiers verifiers, out ExpectedErrorMessage expectedErrorMessage)
        {
            if (new PayloadReaderVersionErrorCalculator(verifiers).TryCalculateError(payload, dataServiceVersion, out expectedErrorMessage))
            {
                return(true);
            }

            expectedErrorMessage = null;
            return(false);
        }
コード例 #7
0
        internal static bool TryCalculateReaderError(ODataRequest request, DataServiceProtocolVersion dataServiceVersion, IAstoriaStringResourceVerifiers verifiers, IODataPayloadElementMetadataResolver metadataResolver, out ExpectedErrorMessage expectedErrorMessage)
        {
            var requestBody = request.Body;

            if (requestBody != null && requestBody.RootElement != null)
            {
                var payload = requestBody.RootElement;

                if (metadataResolver != null && !IsStreamRequest(request) && !request.Uri.IsAction())
                {
                    metadataResolver.ResolveMetadata(payload, request.Uri);
                }

                if (TryCalculateReaderError(payload, dataServiceVersion, verifiers, out expectedErrorMessage))
                {
                    return(true);
                }
            }

            expectedErrorMessage = null;
            return(false);
        }