Page MenuHomeSolus

Valum
Closed, ResolvedPublic

Description

Valum is a web micro-framework entirely written in the Vala programming language.

Features

  • streaming-first API for minimal overhead with support for async I/O through GIO
  • powerful routing mechanism to write expressive web services:
    • helpers and flags (i.e. Method.GET | Method.POST) for common HTTP methods
    • scoping
    • rule system supporting typed parameters, group, optional and wildcard
    • regular expression with capture extraction
    • automatic HEAD and OPTIONS
    • subrouting
    • status codes through error domains (i.e. throw new Redirection.PERMANENT ("http://example.com/");
    • filtering by composition
    • context to hold states
  • middlewares for subdomains, server-sent events, content negotiation and much more
  • written upon VSGI so that you can deploy using libsoup-2.4 built-in HTTP server, CGI, FastCGI or SCGI
  • support plugin for custom server implementation
  • support for fork to scale on multi-core architecture
  • extensively documented at docs.valum-framework.org

Event Timeline

And this is needed for?

And this is needed for?

Well, to develop things with it. Do Solus has a restriction on library inclusion, so that every library need a complete program using it to get included? (serious question)

Do Solus has a restriction on library inclusion, so that every library need a complete program using it to get included?

No, I just wanted to understand the usecase for providing this in Solus. Is the plan to use Valum on a server-oriented OS as the deployment target and Valum on Solus for local development (like one would with Hugo, nginx, httpd, etc?)

Do Solus has a restriction on library inclusion, so that every library need a complete program using it to get included?

No, I just wanted to understand the usecase for providing this in Solus. Is the plan to use Valum on a server-oriented OS as the deployment target and Valum on Solus for local development (like one would with Hugo, nginx, httpd, etc?)

It's a micro-framework, like web.py, so it's a different usecase. Writing lightweight and idiomatic web services in Vala is what i have in mind.

JoshStrobl triaged this task as Normal priority.Sep 10 2016, 2:21 PM

Needs httpd for fcgi stuff. We have it in git but waiting for @ikey to review and apply statelessness before we can move forward on this.

httpd is now in unstable. Valum is now unblocked and ready for progression.

JoshStrobl changed the task status from Open to In Progress.Nov 12 2016, 6:54 PM