diff --git a/fxpixiv/src/main.rs b/fxpixiv/src/main.rs index d240475..27d02ca 100755 --- a/fxpixiv/src/main.rs +++ b/fxpixiv/src/main.rs @@ -2,8 +2,8 @@ #[macro_use] extern crate rocket; -use std::{str::FromStr, sync::Arc}; - +use std::sync::Arc; +use std::str::FromStr; use chrono::{DateTime, Duration, Utc}; use libpixiv::PixivAppClient; use maud::{html, DOCTYPE}; @@ -33,12 +33,17 @@ async fn handle_route( if let Some(id) = path.file_name() { let meta = fetch_illust(client, &db, id.to_str().unwrap().parse::().unwrap()); - Ok(RawHtml( - create_page(&target, &meta.await.unwrap()).await.unwrap(), - )) - } else { - Err(Status::InternalServerError) + if let Some(meta) = meta.await { + if let Ok(page) = create_page(&target, &meta).await { + return Ok(RawHtml(page)) + } + } else { + println!("High chance of failed login, check token!"); + return Err(Status::ServiceUnavailable); + } } + Err(Status::InternalServerError) + } async fn fetch_illust(