slightly improve error handling in handlers
This commit is contained in:
parent
00cb127953
commit
aef35f2a0b
1 changed files with 20 additions and 11 deletions
31
src/main.rs
31
src/main.rs
|
@ -4,8 +4,7 @@ use axum::{
|
||||||
http::{header, StatusCode},
|
http::{header, StatusCode},
|
||||||
response::{Html, IntoResponse},
|
response::{Html, IntoResponse},
|
||||||
routing::get,
|
routing::get,
|
||||||
Form,
|
Form, Router,
|
||||||
Router,
|
|
||||||
};
|
};
|
||||||
use forgejo_api::{Auth, Forgejo};
|
use forgejo_api::{Auth, Forgejo};
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
|
@ -299,7 +298,7 @@ async fn get_index(
|
||||||
State(data): State<Arc<AppState>>,
|
State(data): State<Arc<AppState>>,
|
||||||
Query(q): Query<SortSetting>,
|
Query(q): Query<SortSetting>,
|
||||||
OriginalUri(uri): OriginalUri,
|
OriginalUri(uri): OriginalUri,
|
||||||
) -> Html<String> {
|
) -> Result<Html<String>, AppError> {
|
||||||
eprintln!("GET {}", uri);
|
eprintln!("GET {}", uri);
|
||||||
|
|
||||||
let db = &data.db;
|
let db = &data.db;
|
||||||
|
@ -355,9 +354,9 @@ async fn get_index(
|
||||||
);
|
);
|
||||||
context.insert("total_users_count", &users_count);
|
context.insert("total_users_count", &users_count);
|
||||||
eprintln!("rendering template...");
|
eprintln!("rendering template...");
|
||||||
let page = TEMPLATES.render("index.html", &context).unwrap();
|
let page = TEMPLATES.render("index.html", &context)?;
|
||||||
eprintln!("done");
|
eprintln!("done");
|
||||||
Html::from(page)
|
Ok(Html::from(page))
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn post_classified(
|
async fn post_classified(
|
||||||
|
@ -387,7 +386,11 @@ async fn post_classified(
|
||||||
|
|
||||||
eprintln!("done");
|
eprintln!("done");
|
||||||
|
|
||||||
Ok((StatusCode::SEE_OTHER, [(header::LOCATION, uri.to_string())], ()))
|
Ok((
|
||||||
|
StatusCode::SEE_OTHER,
|
||||||
|
[(header::LOCATION, uri.to_string())],
|
||||||
|
(),
|
||||||
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn post_classified_index(
|
async fn post_classified_index(
|
||||||
|
@ -409,7 +412,7 @@ async fn post_classified_edit(
|
||||||
async fn get_classified(
|
async fn get_classified(
|
||||||
State(data): State<Arc<AppState>>,
|
State(data): State<Arc<AppState>>,
|
||||||
OriginalUri(uri): OriginalUri,
|
OriginalUri(uri): OriginalUri,
|
||||||
) -> Html<String> {
|
) -> Result<Html<String>, AppError> {
|
||||||
eprintln!("GET {}", uri);
|
eprintln!("GET {}", uri);
|
||||||
|
|
||||||
let db = &data.db;
|
let db = &data.db;
|
||||||
|
@ -431,14 +434,17 @@ async fn get_classified(
|
||||||
context.insert("forge_url", &data.config.forge_url.to_string());
|
context.insert("forge_url", &data.config.forge_url.to_string());
|
||||||
context.insert("users", &users);
|
context.insert("users", &users);
|
||||||
eprintln!("rendering template...");
|
eprintln!("rendering template...");
|
||||||
let page = TEMPLATES.render("classified.html", &context).unwrap();
|
let page = TEMPLATES.render("classified.html", &context)?;
|
||||||
eprintln!("done");
|
eprintln!("done");
|
||||||
Html::from(page)
|
Ok(Html::from(page))
|
||||||
}
|
}
|
||||||
|
|
||||||
const STATIC_DIR: include_dir::Dir = include_dir::include_dir!("static");
|
const STATIC_DIR: include_dir::Dir = include_dir::include_dir!("static");
|
||||||
|
|
||||||
async fn get_static_(Path(filename): Path<String>, OriginalUri(uri): OriginalUri) -> impl IntoResponse {
|
async fn get_static_(
|
||||||
|
Path(filename): Path<String>,
|
||||||
|
OriginalUri(uri): OriginalUri,
|
||||||
|
) -> impl IntoResponse {
|
||||||
eprintln!("GET {}", uri);
|
eprintln!("GET {}", uri);
|
||||||
|
|
||||||
match STATIC_DIR.get_file(filename) {
|
match STATIC_DIR.get_file(filename) {
|
||||||
|
@ -498,7 +504,10 @@ async fn main() -> anyhow::Result<()> {
|
||||||
|
|
||||||
let app = Router::new()
|
let app = Router::new()
|
||||||
.route("/", get(get_index).post(post_classified_index))
|
.route("/", get(get_index).post(post_classified_index))
|
||||||
.route("/classified", get(get_classified).post(post_classified_edit))
|
.route(
|
||||||
|
"/classified",
|
||||||
|
get(get_classified).post(post_classified_edit),
|
||||||
|
)
|
||||||
.route("/static/{*filename}", get(get_static_))
|
.route("/static/{*filename}", get(get_static_))
|
||||||
.with_state(shared_state);
|
.with_state(shared_state);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue