pub trait LambdaResultExt<OK, ERR> {
// Required methods
fn handler_error(self) -> Result<OK, HandlerError>;
fn failure_compat(self) -> Result<OK, Compat<Error>>;
}
Expand description
Result
type extension for AWS that makes it easy to generate a HandlerError
object or a Compat<Error>
from the failure crate using an existing result.
This trait should be imported from the lambda_runtime_core
or lambda_runtime
crates.
Required Methods§
Sourcefn handler_error(self) -> Result<OK, HandlerError>
fn handler_error(self) -> Result<OK, HandlerError>
Takes the incoming Result
and maps it to a Result that returns an HandlerError
object.
The HandlerError
type already includes implementations of the From
trait for most
standard library errors. This method is intended to be used when a the From
trait is not
implemented.
§Example
use lambda_runtime_core::{Context, LambdaResultExt, HandlerError, lambda};
use std::error::Error as StdError;
fn main() -> Result<(), Box<dyn StdError>> {
lambda!(my_handler);
Ok(())
}
fn my_handler(_event: Vec<u8>, _ctx: Context) -> Result<Vec<u8>, HandlerError> {
let age = "hello"; // this will throw an error when we try to parse it into an int
age.parse::<u8>().handler_error()?;
Ok(vec!())
}
Sourcefn failure_compat(self) -> Result<OK, Compat<Error>>
fn failure_compat(self) -> Result<OK, Compat<Error>>
Takes the incoming result and converts it into an Error
type from the failure
crate
wrapped in a Compat
object to make it implement the Error
trait from the standard
library. This method makes it easy to write handler functions that return Compat<Error>
directly.
§Example
use lambda_runtime_core::{Context, LambdaResultExt, lambda};
use failure::{Error, Compat};
use std::error::Error as StdError;
fn main() -> Result<(), Box<dyn StdError>> {
lambda!(my_handler);
Ok(())
}
fn my_handler(_event: Vec<u8>, _ctx: Context) -> Result<Vec<u8>, Compat<Error>> {
let age = "hello"; // this will throw an error when we try to parse it into an int
age.parse::<u8>().failure_compat()?;
Ok(vec!())
}