Improved error handling (part 1)
This commit is contained in:
@@ -171,10 +171,7 @@ impl<T> GetRequest<T> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn unwrap_ids(
|
||||
&mut self,
|
||||
max_objects_in_get: usize,
|
||||
) -> Result<Option<Vec<Id>>, MethodError> {
|
||||
pub fn unwrap_ids(&mut self, max_objects_in_get: usize) -> trc::Result<Option<Vec<Id>>> {
|
||||
if let Some(ids) = self.ids.take() {
|
||||
let ids = ids.unwrap();
|
||||
if ids.len() <= max_objects_in_get {
|
||||
@@ -184,7 +181,7 @@ impl<T> GetRequest<T> {
|
||||
.collect::<Vec<_>>(),
|
||||
))
|
||||
} else {
|
||||
Err(MethodError::RequestTooLarge)
|
||||
Err(MethodError::RequestTooLarge.into())
|
||||
}
|
||||
} else {
|
||||
Ok(None)
|
||||
@@ -194,7 +191,7 @@ impl<T> GetRequest<T> {
|
||||
pub fn unwrap_blob_ids(
|
||||
&mut self,
|
||||
max_objects_in_get: usize,
|
||||
) -> Result<Option<Vec<BlobId>>, MethodError> {
|
||||
) -> trc::Result<Option<Vec<BlobId>>> {
|
||||
if let Some(ids) = self.ids.take() {
|
||||
let ids = ids.unwrap();
|
||||
if ids.len() <= max_objects_in_get {
|
||||
@@ -204,7 +201,7 @@ impl<T> GetRequest<T> {
|
||||
.collect::<Vec<_>>(),
|
||||
))
|
||||
} else {
|
||||
Err(MethodError::RequestTooLarge)
|
||||
Err(MethodError::RequestTooLarge.into())
|
||||
}
|
||||
} else {
|
||||
Ok(None)
|
||||
|
||||
@@ -400,7 +400,7 @@ impl RequestPropertyParser for RequestArguments {
|
||||
}
|
||||
|
||||
impl<T> SetRequest<T> {
|
||||
pub fn validate(&self, max_objects_in_set: usize) -> Result<(), MethodError> {
|
||||
pub fn validate(&self, max_objects_in_set: usize) -> trc::Result<()> {
|
||||
if self.create.as_ref().map_or(0, |objs| objs.len())
|
||||
+ self.update.as_ref().map_or(0, |objs| objs.len())
|
||||
+ self.destroy.as_ref().map_or(0, |objs| {
|
||||
@@ -412,7 +412,7 @@ impl<T> SetRequest<T> {
|
||||
})
|
||||
> max_objects_in_set
|
||||
{
|
||||
Err(MethodError::RequestTooLarge)
|
||||
Err(MethodError::RequestTooLarge.into())
|
||||
} else {
|
||||
Ok(())
|
||||
}
|
||||
@@ -460,10 +460,7 @@ impl SetRequest<RequestArguments> {
|
||||
}
|
||||
|
||||
impl SetResponse {
|
||||
pub fn from_request<T>(
|
||||
request: &SetRequest<T>,
|
||||
max_objects: usize,
|
||||
) -> Result<Self, MethodError> {
|
||||
pub fn from_request<T>(request: &SetRequest<T>, max_objects: usize) -> trc::Result<Self> {
|
||||
let n_create = request.create.as_ref().map_or(0, |objs| objs.len());
|
||||
let n_update = request.update.as_ref().map_or(0, |objs| objs.len());
|
||||
let n_destroy = request.destroy.as_ref().map_or(0, |objs| {
|
||||
@@ -491,7 +488,7 @@ impl SetResponse {
|
||||
state_change: None,
|
||||
})
|
||||
} else {
|
||||
Err(MethodError::RequestTooLarge)
|
||||
Err(MethodError::RequestTooLarge.into())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user