public async Task <ODataRequest> CreateActionRequestAsync(string commandText, string actionName, string boundTypeName, IDictionary <string, object> parameters, bool resultRequired)
        {
            var                verb             = RestVerbs.Post;
            Stream             entryContent     = null;
            ODataPayloadFormat usePayloadFormat = ODataPayloadFormat.Unspecified;

            if (parameters != null && parameters.Any())
            {
                entryContent = await WriteActionContentAsync(RestVerbs.Post, commandText, actionName, boundTypeName, parameters).ConfigureAwait(false);

                usePayloadFormat = ODataPayloadFormat.Json;
            }
            else
            {
                await WriteFunctionContentAsync(verb, commandText).ConfigureAwait(false);
            }

            var request = new ODataRequest(verb, _session, commandText, parameters, entryContent)
            {
                ResultRequired   = resultRequired,
                UsePayloadFormat = usePayloadFormat,
            };

            AssignHeaders(request);
            return(request);
        }
        internal ODataRequest(string method, ISession session, string commandText)
        {
            this.Method = method;

            var uri = new Uri(commandText, UriKind.RelativeOrAbsolute);
            _uri = uri.IsAbsoluteUri 
                ? uri.AbsoluteUri 
                : Utils.CreateAbsoluteUri(session.Settings.BaseUri.AbsoluteUri, commandText).AbsoluteUri;
            _payloadFormat = session.Settings.PayloadFormat;
        }
예제 #3
0
        internal ODataRequest(string method, ISession session, string commandText)
        {
            this.Method = method;

            var uri = new Uri(commandText, UriKind.RelativeOrAbsolute);

            _uri = uri.IsAbsoluteUri
                ? uri.AbsoluteUri
                : Utils.CreateAbsoluteUri(session.Settings.BaseUri.AbsoluteUri, commandText).AbsoluteUri;
            _payloadFormat = session.Settings.PayloadFormat;
        }
예제 #4
0
        protected TestBase(string serviceUri, ODataPayloadFormat payloadFormat)
        {
            if (serviceUri.Contains("%28readwrite%29") || serviceUri == TripPinV4ReadWriteUri)
            {
                serviceUri = GetReadWriteUri(serviceUri).Result;
            }

            _serviceUri    = new Uri(serviceUri);
            _payloadFormat = payloadFormat;
            _client        = CreateClientWithDefaultSettings();
        }
예제 #5
0
        private Session(Uri baseUri, ICredentials credentials, ODataPayloadFormat payloadFormat)
        {
            _adapterFactory = new AdapterFactory(this);
            _createAdapter = () => _adapterFactory.ParseMetadata(this.MetadataCache.MetadataDocument);

            this.Settings = new ODataClientSettings();
            this.Settings.BaseUri = baseUri;
            this.Settings.Credentials = credentials;
            this.Settings.PayloadFormat = payloadFormat;
            this.MetadataCache = MetadataCache.Instances.GetOrAdd(baseUri.AbsoluteUri, new MetadataCache());
            this.Pluralizer = new SimplePluralizer();
        }
예제 #6
0
        private Session(string urlBase, ICredentials credentials, ODataPayloadFormat payloadFormat)
        {
            _adapterFactory = new AdapterFactory(this);
            _createAdapter  = () => _adapterFactory.ParseMetadata(this.MetadataCache.MetadataAsString);

            this.Settings               = new ODataClientSettings();
            this.Settings.UrlBase       = urlBase;
            this.Settings.Credentials   = credentials;
            this.Settings.PayloadFormat = payloadFormat;
            this.MetadataCache          = MetadataCache.Instances.GetOrAdd(urlBase, new MetadataCache());
            this.Pluralizer             = new SimplePluralizer();
        }
예제 #7
0
        private Session(Uri baseUri, ICredentials credentials, ODataPayloadFormat payloadFormat)
        {
            _adapterFactory = new AdapterFactory(this);
            _createAdapter  = () => _adapterFactory.ParseMetadata(this.MetadataCache.MetadataDocument);

            this.Settings               = new ODataClientSettings();
            this.Settings.BaseUri       = baseUri;
            this.Settings.Credentials   = credentials;
            this.Settings.PayloadFormat = payloadFormat;
            this.MetadataCache          = MetadataCache.Instances.GetOrAdd(baseUri.AbsoluteUri, new MetadataCache());
            this.Pluralizer             = new SimplePluralizer();
        }
        protected TestBase(string serviceUri, ODataPayloadFormat payloadFormat)
        {
            //services.odata.org only works with Tls 1.2
            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

            if (serviceUri.Contains("%28readwrite%29") || serviceUri == TripPinV4ReadWriteUri)
            {
                serviceUri = GetReadWriteUri(serviceUri).GetAwaiter().GetResult();
            }

            _serviceUri    = new Uri(serviceUri);
            _payloadFormat = payloadFormat;
            _client        = CreateClientWithDefaultSettings();
        }
예제 #9
0
 protected TripPinTestBase(string serviceUri, ODataPayloadFormat payloadFormat)
     : base(serviceUri, payloadFormat)
 {
 }
예제 #10
0
 protected BatchODataTests(string serviceUri, ODataPayloadFormat payloadFormat, int version)
     : base(serviceUri, payloadFormat, version)
 {
 }
 protected TripPinTests(string serviceUri, ODataPayloadFormat payloadFormat) : base(serviceUri, payloadFormat) { }
 protected FindNorthwindTests(string serviceUri, ODataPayloadFormat payloadFormat) : base(serviceUri, payloadFormat)
 {
 }
예제 #13
0
 protected ODataTestBase(string serviceUri, ODataPayloadFormat payloadFormat, int version)
     : base(serviceUri, payloadFormat)
 {
     _version = version;
 }
 protected FindODataTests(string serviceUri, ODataPayloadFormat payloadFormat, int version)
     : base(serviceUri, payloadFormat, version)
 {
 }
 protected FindNorthwindTests(string serviceUri, ODataPayloadFormat payloadFormat) : base(serviceUri, payloadFormat) {}
 protected ODataTestBase(string serviceUri, ODataPayloadFormat payloadFormat, int version)
     : base(serviceUri, payloadFormat)
 {
     _version = version;
 }