♻️ Migra API pública de actix-web a Axum

- `configure_service` como `configure_router(Router) -> Router`.
- Macro `static_files_service!` como `serve_static_files!`.
- `ResultPage<M, E>` eliminado; handlers devuelven `Result<M, E>`.
- `ErrorPage` implementa `IntoResponse` en lugar de `ResponseError`.
- Registro con `OnceLock`; eliminados `drop_extensions` y `app.welcome`.
- `Redirect` devuelve `Response`; docs y ejemplos actualizados.
This commit is contained in:
Manuel Cillero 2026-05-31 23:38:43 +02:00
parent 019961ed77
commit c1afe0e70c
30 changed files with 393 additions and 355 deletions

View file

@ -64,7 +64,7 @@ o **fuerza el tema por código** en una página concreta:
use pagetop::prelude::*;
use pagetop_aliner::Aliner;
async fn homepage(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
async fn homepage(request: HttpRequest) -> Result<Markup, ErrorPage> {
Page::new(request)
.with_theme(&Aliner)
.add_child(

View file

@ -66,7 +66,7 @@ o **fuerza el tema por código** en una página concreta:
use pagetop::prelude::*;
use pagetop_aliner::Aliner;
async fn homepage(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
async fn homepage(request: HttpRequest) -> Result<Markup, ErrorPage> {
Page::new(request)
.with_theme(&Aliner)
.with_child(
@ -109,8 +109,9 @@ impl Extension for Aliner {
Some(&Self)
}
fn configure_service(&self, scfg: &mut service::web::ServiceConfig) {
static_files_service!(scfg, [aliner] => "/aliner");
fn configure_router(&self, router: Router) -> Router {
serve_static_files!(router, [aliner] => "/aliner");
router
}
}