mirror of
https://github.com/SinTan1729/chhoto-url
synced 2024-12-26 07:38:36 -06:00
chg: 404 response doesn't change the url
This commit is contained in:
parent
5d8dd6fb63
commit
f526e7ec5b
1 changed files with 9 additions and 4 deletions
|
@ -6,7 +6,7 @@ use actix_web::{
|
||||||
http::StatusCode,
|
http::StatusCode,
|
||||||
middleware, post,
|
middleware, post,
|
||||||
web::{self, Redirect},
|
web::{self, Redirect},
|
||||||
App, HttpResponse, HttpServer, Responder,
|
App, Either, HttpResponse, HttpServer, Responder,
|
||||||
};
|
};
|
||||||
use rusqlite::Connection;
|
use rusqlite::Connection;
|
||||||
use std::env;
|
use std::env;
|
||||||
|
@ -82,13 +82,18 @@ async fn link_handler(shortlink: web::Path<String>, data: web::Data<AppState>) -
|
||||||
let redirect_method = env::var("redirect_method").unwrap_or(String::from("PERMANENT"));
|
let redirect_method = env::var("redirect_method").unwrap_or(String::from("PERMANENT"));
|
||||||
database::add_hit(shortlink.as_str(), &data.db);
|
database::add_hit(shortlink.as_str(), &data.db);
|
||||||
if redirect_method == "TEMPORARY" {
|
if redirect_method == "TEMPORARY" {
|
||||||
Redirect::to(longlink)
|
Either::Left(Redirect::to(longlink))
|
||||||
} else {
|
} else {
|
||||||
// Defaults to permanent redirection
|
// Defaults to permanent redirection
|
||||||
Redirect::to(longlink).permanent()
|
Either::Left(Redirect::to(longlink).permanent())
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Redirect::to("/err/404")
|
Either::Right(
|
||||||
|
NamedFile::open_async("./resources/static/404.html")
|
||||||
|
.await
|
||||||
|
.customize()
|
||||||
|
.with_status(StatusCode::NOT_FOUND),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue