diff --git a/src/main.rs b/src/main.rs
index 5599080..81079ba 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -32,11 +32,11 @@ async fn async_main(port: u16) {
.and_then(handle_album);
let media_path = warp::path!(String).and(client).and_then(handle_media);
let root_handler = warp::path::end().map(|| warp::reply::html(
- format!("
", env!("CARGO_PKG_VERSION"))
+ format!("ImgurX v{0}", env!("CARGO_PKG_VERSION"))
));
let index_handler = warp::path("index.html").and(root_handler);
let not_found_handler = warp::any().map(|| warp::reply::with_status(
- warp::reply::html("404: Not Found
"),
+ warp::reply::html("404: Not Found404: Not Found
"),
404.try_into().unwrap(),
));
let routes = warp::filters::method::get().and(
diff --git a/src/utils.rs b/src/utils.rs
index 5459d6d..b938ebf 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -48,6 +48,24 @@ pub fn generate_html(album: Result) -> (u16, Vec) {
let elem = BytesStart::owned(b"head".to_vec(), 4);
writer.write_event(Event::Start(elem)).unwrap();
+ let (show_details, title) = match album {
+ Ok(ref album) if !album.title.is_empty() => (false, Some(album.title.clone())),
+ Err(Error::APIErrors(ref err)) if err.errors.len() == 1 && err.errors[0].code == "404" => {
+ (false, Some(format!("404: {}", &err.errors[0].detail)))
+ }
+ _ => (true, None),
+ };
+ if let Some(title) = title {
+ let elem = BytesStart::owned(b"title".to_vec(), 5);
+ writer.write_event(Event::Start(elem)).unwrap();
+
+ let elem = BytesText::from_plain_str(&title);
+ writer.write_event(Event::Text(elem)).unwrap();
+
+ let elem = BytesEnd::owned(b"title".to_vec());
+ writer.write_event(Event::End(elem)).unwrap();
+ }
+
let elem = BytesStart::owned(b"style".to_vec(), 5);
writer.write_event(Event::Start(elem)).unwrap();
@@ -155,14 +173,6 @@ pub fn generate_html(album: Result) -> (u16, Vec) {
200
}
Err(err) => {
- let show_details = match err {
- Error::APIErrors(ref err)
- if err.errors.len() == 1 && err.errors[0].code == "404" =>
- {
- false
- }
- _ => true,
- };
let mut elem = BytesStart::owned(b"div".to_vec(), 3);
if show_details {
elem.push_attribute(("style", "text-align: left;"));