public Task <RiakResult <RiakBucketProperties> > GetBucketProperties(string bucket, bool extended = false) { // bucket names cannot have slashes in the names, the REST interface doesn't like it at all if (!IsValidBucketOrKey(bucket)) { return(RiakResult <RiakBucketProperties> .ErrorTask(ResultCode.InvalidRequest, InvalidBucketErrorMessage, false)); } if (extended) { var request = new RiakRestRequest(ToBucketUri(bucket), RiakConstants.Rest.HttpMethod.Get) .AddQueryParam(RiakConstants.Rest.QueryParameters.Bucket.GetPropertiesKey, RiakConstants.Rest.QueryParameters.Bucket.GetPropertiesValue); return(UseConnection(conn => conn.RestRequest(request)) .ContinueWith((Task <RiakResult <RiakRestResponse> > finishedTask) => { var result = finishedTask.Result; if (result.IsSuccess) { if (result.Value.StatusCode == HttpStatusCode.OK) { var response = new RiakBucketProperties(result.Value); return RiakResult <RiakBucketProperties> .Success(response); } return RiakResult <RiakBucketProperties> .Error(ResultCode.InvalidResponse, "Unexpected Status Code: {0} ({1})".Fmt(result.Value.StatusCode, (int)result.Value.StatusCode), false); } return RiakResult <RiakBucketProperties> .Error(result.ResultCode, result.ErrorMessage, result.NodeOffline); })); } else { var bpReq = new RpbGetBucketReq { bucket = bucket.ToRiakString() }; return(UseConnection(conn => conn.PbcWriteRead <RpbGetBucketReq, RpbGetBucketResp>(bpReq)) .ContinueWith((Task <RiakResult <RpbGetBucketResp> > finishedTask) => { var result = finishedTask.Result; if (result.IsSuccess) { var props = new RiakBucketProperties(result.Value.props); return RiakResult <RiakBucketProperties> .Success(props); } return RiakResult <RiakBucketProperties> .Error(result.ResultCode, result.ErrorMessage, result.NodeOffline); })); } }
public async Task <RiakBucketProperties> GetBucketProperties(string bucket) { // bucket names cannot have slashes in the names, the REST interface doesn't like it at all if (!IsValidBucketOrKey(bucket)) { throw new RiakException((uint)ResultCode.InvalidRequest, InvalidBucketErrorMessage, false); } var bpReq = new RpbGetBucketReq { bucket = bucket.ToRiakString() }; var result = await _connection.PbcWriteRead <RpbGetBucketReq, RpbGetBucketResp>(_endPoint, bpReq).ConfigureAwait(false); var bucketProperties = new RiakBucketProperties(result.props); return(bucketProperties); }
/// <summary> /// Returns all properties for a <paramref name="bucket"/>. /// </summary> /// <returns> /// The bucket properties. /// </returns> /// <param name='bucket'> /// The Riak bucket. /// </param> /// <param name='extended'> /// Extended parameters are retrieved by HTTP requests. /// </param> public RiakResult <RiakBucketProperties> GetBucketProperties(string bucket, bool extended = false) { if (extended) { var request = new RiakRestRequest(ToBucketUri(bucket), RiakConstants.Rest.HttpMethod.Get) .AddQueryParam(RiakConstants.Rest.QueryParameters.Bucket.GetPropertiesKey, RiakConstants.Rest.QueryParameters.Bucket.GetPropertiesValue); var result = UseConnection(conn => conn.RestRequest(request)); if (result.IsSuccess) { if (result.Value.StatusCode == HttpStatusCode.OK) { var response = new RiakBucketProperties(result.Value); return(RiakResult <RiakBucketProperties> .Success(response)); } return(RiakResult <RiakBucketProperties> .Error(ResultCode.InvalidResponse, "Unexpected Status Code: {0} ({1})".Fmt(result.Value.StatusCode, (int)result.Value.StatusCode))); } return(RiakResult <RiakBucketProperties> .Error(result.ResultCode, result.ErrorMessage)); } else { var bpReq = new RpbGetBucketReq { Bucket = bucket.ToRiakString() }; var result = UseConnection(conn => conn.PbcWriteRead <RpbGetBucketReq, RpbGetBucketResp>(bpReq)); if (result.IsSuccess) { var props = new RiakBucketProperties(result.Value.Props); return(RiakResult <RiakBucketProperties> .Success(props)); } return(RiakResult <RiakBucketProperties> .Error(result.ResultCode, result.ErrorMessage)); } }