Rullst AcademyRullst Academy/Lección
Aplicaciones con Rullst I · Lección 11 / 14

Errores útiles, límites explícitos

Quien usa la aplicación necesita saber qué hacer sin recibir detalles internos.

Rutas de aprendizaje18 min

Vamos a descubrir juntos

  1. 1

    En este contrato, JSON roto recibe 400, regla inválida 422, objetivo inexistente 404 y fallo de base 503. Un tipo de contenido incorrecto puede recibir 415. No son notas del alumno: comunican resultados HTTP diferentes y ayudan al cliente.

  2. 2

    DefaultBodyLimit limita el cuerpo a 4.096 bytes. Un título de 5.000 letras no llega a validación como campo pequeño: recibe 413. Límite del cuerpo y del título miden cosas distintas. Parámetros de tipo inválido pueden rechazarse antes del handler.

  3. 3

    Escrituras con Origin externo reciben 403; el cliente del mismo origen usa la dirección local. Esto reduce un tipo de petición de navegador, pero no autentica personas ni bloquea programas locales sin Origin. Loopback y cabeceras no sustituyen autorización.

  4. 4

    Un fallo de base devuelve storage_unavailable. El log no imprime títulos, SQL, rutas ni credenciales. El kit usa CSP y nosniff, pero no promete protección completa, límites por persona, auditoría ni disponibilidad. Las pruebas comprueban conductas concretas, no certificación de seguridad.

Tu mesa de aplicaciones

El kit incluye la aplicación completa para investigar y modificar. El fragmento explica esta etapa; el editor contiene el archivo indicado. Rullst Academy no compila ni ejecuta este servidor en el navegador.

Archivo para estudiar y modificar

src/routes.rs

400  invalid JSON syntax
422  invalid title or priority
403  external Origin on a write
404  missing mission
413  body over 4096 bytes
503  storage unavailable

Extrae el kit en una carpeta nueva y abre el terminal junto a Cargo.toml. Usa Rust 1.96+; la primera compilación puede descargar dependencias y tardar. Abre http://127.0.0.1:3010. Detén con Ctrl+C y ejecuta de nuevo tras editar.

cargo test --locked
cargo run --locked
Mis archivos y GitHub

Descarga tu borrador y sustituye el archivo indicado en tu copia extraída. El editor guarda un archivo en este navegador; tu cuenta guarda evaluaciones y XP. El ZIP excluye tus cambios. GitHub envía solo el archivo confirmado; usa Git manual para la aplicación entera, sin bases, respaldos ni secretos.

Enlaces oficiales y siguiente paso

✦
TU MISIÓN

Distinguir errores de formato, regla, origen, objetivo y almacenamiento.

Ahora te toca

Taller de descubrimientos

Decide antes de ejecutar

Distinguir errores de formato, regla, origen, objetivo y almacenamiento.
Prepara tus respuestas y comprueba cuando estés listo.
Una pausa para entender

¿Qué demuestra la comprobación de Origin?

Necesito una pista

Las defensas tienen alcance. Separar origen, identidad y permiso evita publicar un laboratorio como servicio completo.

Cargando tu camino…

Llévatelo contigo

Crea una tabla con entrada, estado esperado y siguiente acción del usuario para tres fallos. Ejecuta uno en la prueba local y comprueba que el conteo no aumentó.

A tu ritmo

Mis archivos y GitHub

Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

Manual del alumno

El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

Comprobando tu acceso a esta lección…

Rullstpetbot

La IA puede equivocarse. Consulta el material de la lección.