diff options
| author | Jokler <jokler.contact@gmail.com> | 2018-05-12 00:21:59 +0200 |
|---|---|---|
| committer | Jokler <jokler.contact@gmail.com> | 2018-05-12 00:21:59 +0200 |
| commit | 6ec0c444f642630485ca18b3043191b67a6f8e8c (patch) | |
| tree | 433d04f5b51dfb287536dd624b5c24075b5d227f /src/plugins/factoids/utils.rs | |
| parent | 518fa4a3d523b481e2d72e78361dd979e6c850f4 (diff) | |
| download | frippy-6ec0c444f642630485ca18b3043191b67a6f8e8c.tar.gz frippy-6ec0c444f642630485ca18b3043191b67a6f8e8c.zip | |
Factoids: Improve display of runtime errors in lua
Diffstat (limited to 'src/plugins/factoids/utils.rs')
| -rw-r--r-- | src/plugins/factoids/utils.rs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/plugins/factoids/utils.rs b/src/plugins/factoids/utils.rs index fd08da1..89f5d6c 100644 --- a/src/plugins/factoids/utils.rs +++ b/src/plugins/factoids/utils.rs @@ -3,20 +3,29 @@ extern crate reqwest; use std::thread; use std::time::Duration; -use super::rlua::prelude::*; +use super::rlua::Error as LuaError; +use super::rlua::Lua; use utils::Url; +use utils::error::ErrorKind::Connection; -use self::LuaError::RuntimeError; +use failure::Fail; pub fn download(_: &Lua, url: String) -> Result<String, LuaError> { let url = Url::from(url).max_kib(1024); match url.request() { Ok(v) => Ok(v), - Err(e) => Err(RuntimeError(format!( - "Failed to download {} - {}", - url.as_str(), - e.to_string() - ))), + Err(e) => { + let error = match e.kind() { + Connection => e.cause().unwrap().to_string(), + _ => e.to_string(), + }; + + Err(LuaError::RuntimeError(format!( + "Failed to download {} - {}", + url.as_str(), + error + ))) + } } } |
