Exemplo n.º 1
0
        private Task <ElasticsearchResponse <Stream> > CallIntoConnectionAsync <T>(TransportRequestState <T> requestState)
        {
            var uri                  = requestState.CreatePathOnCurrentNode();
            var postData             = requestState.PostData;
            var requestConfiguration = requestState.RequestConfiguration;
            var method               = requestState.Method.ToLowerInvariant();

            try
            {
                switch (method)
                {
                case "head": return(this._connection.Head(uri, requestConfiguration));

                case "get": return(this._connection.Get(uri, requestConfiguration));

                case "post": return(this._connection.Post(uri, postData, requestConfiguration));

                case "put": return(this._connection.Put(uri, postData, requestConfiguration));

                case "delete":
                    return(postData == null || postData.Length == 0
                                                        ? this._connection.Delete(uri, requestConfiguration)
                                                        : this._connection.Delete(uri, postData, requestConfiguration));

                default:
                    throw new Exception("Unknown HTTP method " + requestState.Method);
                }
            }
            catch (Exception e)
            {
                var tcs = new TaskCompletionSource <ElasticsearchResponse <Stream> >();
                tcs.SetException(e);
                return(tcs.Task);
            }
        }
Exemplo n.º 2
0
        private OrientdbResponse <Stream> CallInToConnection <T>(TransportRequestState <T> requestState)
        {
            Uri uri = requestState.CreatePathOnCurrentNode();

            byte[] postData = requestState.PostData;
            IRequestConfiguration requestConfiguration = requestState.RequestConfiguration;

            switch (requestState.Method.ToLowerInvariant())
            {
            case "post":
                return(_connection.PostSync(uri, postData, requestConfiguration));

            case "put":
                return(_connection.PutSync(uri, postData, requestConfiguration));

            case "head":
                return(_connection.HeadSync(uri, requestConfiguration));

            case "get":
                return(_connection.GetSync(uri, requestConfiguration));

            case "delete":
                return(postData == null || postData.Length == 0
                        ? _connection.DeleteSync(uri, requestConfiguration)
                        : _connection.DeleteSync(uri, postData, requestConfiguration));
            }
            throw new Exception("Unknown HTTP method " + requestState.Method);
        }