[#1] Add response checker

Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
Ivan Pchelintsev 2024-05-22 12:28:06 +03:00
parent 8cacbcc8e9
commit ae3fc419a4
6 changed files with 91 additions and 10 deletions

View file

@ -27,6 +27,7 @@ public partial class Client
request.AddMetaHeader();
request.Sign(_key);
var response = await _objectServiceClient.HeadAsync(request);
Verifier.CheckResponse(response);
return response.Body.Header.Header.ToModel();
}
@ -55,8 +56,8 @@ public partial class Client
);
request.Sign(_key);
var response = await GetObject(request);
return response.ToModel();
var obj = await GetObject(request);
return obj.ToModel();
}
private async Task<Object.Object> GetObject(GetRequest request)
@ -146,6 +147,7 @@ public partial class Client
}
var response = await stream.Close();
Verifier.CheckResponse(response);
return ObjectId.FromHash(response.Body.ObjectId.Value.ToByteArray());
}
@ -176,7 +178,8 @@ public partial class Client
};
request.AddMetaHeader();
request.Sign(_key);
await _objectServiceClient.DeleteAsync(request);
var response = await _objectServiceClient.DeleteAsync(request);
Verifier.CheckResponse(response);
}
public async IAsyncEnumerable<ObjectId> SearchObjectsAsync(ContainerId cid, params ObjectFilter[] filters)
@ -245,6 +248,7 @@ internal class ObjectReader : IDisposable
}
var response = Call.ResponseStream.Current;
Verifier.CheckResponse(response);
if (response.Body.ObjectPartCase != GetResponse.Types.Body.ObjectPartOneofCase.Init)
throw new InvalidOperationException("unexpect message type");
return new Object.Object
@ -262,6 +266,7 @@ internal class ObjectReader : IDisposable
}
var response = Call.ResponseStream.Current;
Verifier.CheckResponse(response);
if (response.Body.ObjectPartCase != GetResponse.Types.Body.ObjectPartOneofCase.Chunk)
throw new InvalidOperationException("unexpect message type");
return response.Body.Chunk.ToByteArray();
@ -311,6 +316,7 @@ internal class SearchReader : IDisposable
}
var response = Call.ResponseStream.Current;
Verifier.CheckResponse(response);
return response.Body?.IdList.ToList();
}