♻️ 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

@ -13,7 +13,7 @@ use crate::{AutoDefault, CowStr};
///
/// > **Nota**
/// > Los archivos de los iconos deben estar disponibles en el servidor web de la aplicación. Pueden
/// > servirse usando [`static_files_service!`](crate::static_files_service).
/// > servirse usando [`serve_static_files!`](crate::serve_static_files).
///
/// # Ejemplo
///
@ -165,14 +165,12 @@ impl Favicon {
}
}
/// Centraliza la creación de los elementos `<link>`.
///
/// - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.).
/// - `href`: URL del recurso.
/// - `sizes`: tamaños opcionales.
/// - `color`: color opcional (solo relevante para `mask-icon`).
///
/// También infiere automáticamente el tipo MIME (`type`) según la extensión del archivo.
// Crea un elemento <link> para el favicon. Infiere el tipo MIME según la extensión.
//
// - `icon_rel`: indica el tipo de recurso (`"icon"`, `"apple-touch-icon"`, etc.).
// - `href`: URL del recurso.
// - `sizes`: tamaños opcionales.
// - `color`: color opcional (solo relevante para `mask-icon`).
fn add_icon_item(
mut self,
icon_rel: &'static str,

View file

@ -39,7 +39,7 @@ enum Source {
///
/// > **Nota**
/// > Los archivos de los scripts deben estar disponibles en el servidor web de la aplicación.
/// > Pueden servirse usando [`static_files_service!`](crate::static_files_service).
/// > Pueden servirse usando [`serve_static_files!`](crate::serve_static_files).
///
/// # Ejemplo
///

View file

@ -56,7 +56,7 @@ impl TargetMedia {
///
/// > **Nota**
/// > Las hojas de estilo CSS deben estar disponibles en el servidor web de la aplicación. Pueden
/// > servirse usando [`static_files_service!`](crate::static_files_service).
/// > servirse usando [`serve_static_files!`](crate::serve_static_files).
///
/// # Ejemplo
///

View file

@ -1,4 +1,4 @@
use crate::{builder_fn, AutoDefault, CowStr};
use crate::{AutoDefault, CowStr, builder_fn};
use std::fmt;