Merge pull request #307 from sameer/v0.8.x
fix(transport-smtp) Use nom 4.0 to fix build errors in #298
This commit is contained in:
@@ -20,7 +20,7 @@ is-it-maintained-open-issues = { repository = "lettre/lettre" }
|
||||
|
||||
[dependencies]
|
||||
log = "^0.4"
|
||||
nom = { version = "^3.2", optional = true }
|
||||
nom = { version = "^4.0", optional = true }
|
||||
bufstream = { version = "^0.1", optional = true }
|
||||
native-tls = { version = "^0.1", optional = true }
|
||||
base64 = { version = "^0.9", optional = true }
|
||||
|
||||
@@ -37,7 +37,7 @@ pub enum Error {
|
||||
/// TLS error
|
||||
Tls(native_tls::Error),
|
||||
/// Parsing error
|
||||
Parsing(nom::simple_errors::Err),
|
||||
Parsing(nom::ErrorKind),
|
||||
}
|
||||
|
||||
impl Display for Error {
|
||||
@@ -77,7 +77,7 @@ impl StdError for Error {
|
||||
Utf8Parsing(ref err) => Some(&*err),
|
||||
Io(ref err) => Some(&*err),
|
||||
Tls(ref err) => Some(&*err),
|
||||
Parsing(ref err) => Some(&*err),
|
||||
Parsing(_) => None,
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@@ -95,8 +95,8 @@ impl From<native_tls::Error> for Error {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<nom::simple_errors::Err> for Error {
|
||||
fn from(err: nom::simple_errors::Err) -> Error {
|
||||
impl From<nom::ErrorKind> for Error {
|
||||
fn from(err: nom::ErrorKind) -> Error {
|
||||
Parsing(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
//! SMTP response, containing a mandatory return code and an optional text
|
||||
//! message
|
||||
|
||||
use nom::{crlf, ErrorKind as NomErrorKind, IResult as NomResult};
|
||||
use nom::simple_errors::Err as NomError;
|
||||
use nom::{crlf, ErrorKind as NomErrorKind};
|
||||
use std::fmt::{Display, Formatter, Result};
|
||||
use std::result;
|
||||
use std::str::{FromStr, from_utf8};
|
||||
@@ -126,13 +125,12 @@ pub struct Response {
|
||||
}
|
||||
|
||||
impl FromStr for Response {
|
||||
type Err = NomError;
|
||||
type Err = NomErrorKind;
|
||||
|
||||
fn from_str(s: &str) -> result::Result<Response, NomError> {
|
||||
fn from_str(s: &str) -> result::Result<Response, NomErrorKind> {
|
||||
match parse_response(s.as_bytes()) {
|
||||
NomResult::Done(_, res) => Ok(res),
|
||||
NomResult::Error(e) => Err(e),
|
||||
NomResult::Incomplete(_) => Err(NomErrorKind::Complete),
|
||||
Ok((_, res)) => Ok(res),
|
||||
Err(e) => Err(e.into_error_kind()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user