El lenguaje de programación Gleam ahora cuenta con un nuevo framework: Wisp.
Wisp fue creado por Louis Pilfol.
Este nuevo framework ofrece:
- Middleware componible, con muchos recursos útiles integrados.
- Enrutamiento seguro de tipos con coincidencia de patrones tradicional.
- Análisis de JSON, URL y cuerpos multiparte.
- Cookies firmadas a prueba de manipulaciones, ideales para autenticación.
- Limitación del tamaño del cuerpo y transmisión de archivos al disco para evitar ataques de agotamiento de memoria.
- Entrega de CSS, JavaScript o cualquier otro recurso estático que desee.
- Registro, tanto ad hoc como de solicitudes, mediante middleware.
- Programación estándar con Gleam, para que pueda usar cualquier paquete de Gleam sin problemas.
Este ejemplo sacado de la página oficial es una muestra de lo que se puede hacer:
import my_app/people import my_app/web.{Context} import gleam/result.{try} import wisp.{Request, Response} pub fn handle_request(req: Request, ctx: Context) -> Response { use json <- wisp.require_json(req) let result = { use params <- try(people.parse_params(json)) use person <- try(people.save(params, ctx.db)) Ok(people.to_json(person)) } case result { Ok(body) -> wisp.json_response(body, 201) Error(_) -> wisp.bad_request() } }
Aquí vemos una solicitud a un JSON API y guarda un elemento en una base de datos.
Como hemos mencionado en esta serie de entregas sobre Gleam, se trata de un nuevo lenguaje de programación (que corre sobre la máqina de BEAM) que toma lo mejor de lenguajes Elixir y Erlang para proveer un camino más sencillo al programador.
Continuaremos con esta serie más adelante.
Enlaces:
https://elixirforum.com/t/gleam-has-a-new-web-framework/59874https://gleam-wisp.github.io/wisp/
https://x.com/louispilfold
https://github.com/gleam-wisp/wisp