///|
/// nginx.conf codec errors.
pub(all) enum NgxError {
Syntax(String)
Unexpected(String)
Unterminated(String)
Constraint(String)
NotImplemented(String)
} derive(Eq, Debug)
///|
pub fn NgxError::message(self : NgxError) -> String {
match self {
Syntax(s) => "syntax: " + s
Unexpected(s) => "unexpected: " + s
Unterminated(s) => "unterminated: " + s
Constraint(s) => "constraint: " + s
NotImplemented(s) => "not-implemented: " + s
}
}
///|
pub fn[T] unwrap_ngx(r : Result[T, NgxError]) -> T {
match r {
Ok(v) => v
Err(e) => abort(e.message())
}
}
///|
pub fn line_msg(line : Int, msg : String) -> String {
"line " + line.to_string() + ": " + msg
}