Commits
- Commit:
7252049dd77e4927049f698d06d7ebc8fbc3e3df
- From:
- Omar Polo <op@omarpolo.com>
- Date:
align
- Commit:
98f521782249d75bc807e5686266f65850098fd8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
[config] concat two or more strings next to each others
- Commit:
6b86655a10753eae668e839207692d9d43138679
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't require the strict order macro > options > servers
- Commit:
3b21cca385c403247960cfe9385dda1d56f28670
- From:
- Omar Polo <op@omarpolo.com>
- Date:
allow to define macros in the config file
Macros can be defined at the top of the configuration file:
dir = "/var/gemini"
cert = "/etc/keys"
and re-used later, for example
server "foo" {
root "$dir/foo" # -> /var/gemini/foo
cert "$cert/foo.pem" # -> /etc/keys/foo.pem
}
- Commit:
fafc6849577c9374ee6acb8ae7f30104464bb08e
- From:
- Omar Polo <op@omarpolo.com>
- Date:
trailing whitespaces
- Commit:
8235a81c8f7f58eaa08655147963936a2290f691
- From:
- Omar Polo <op@omarpolo.com>
- Date:
give a name to the anonymous union
- Commit:
ef129b08ef85ad6d034548fa1fbe71570a61e75a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
move lineno/colno into the token struct
- Commit:
74f0778b9ae93a700d8b0f759b05f24e69f54921
- From:
- Omar Polo <op@omarpolo.com>
- Date:
drop the dependency on lex by implementing yylex by ourselves
The actual implementation is based off doas' parse.y. This gave us
various benefits, like cleaner code, \ to break long lines, better
handling of quotes etc...
- Commit:
c92b802b6a78a4281f66b02d935391086959dc4b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add `param' keyword
- Commit:
0d047efcb40ec311da407e0b705a92f764c96338
- From:
- Omar Polo <op@omarpolo.com>
- Date:
refactor fastcgi block
- Commit:
8ad1c570242cd93f0802931621b49b2510b338e7
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fastcgi: a first implementation
Not production-ready yet, but it's a start.
This adds a third ``backend'' for gmid: until now there it served
local files or CGI scripts, now FastCGI applications too.
FastCGI is meant to be an improvement over CGI: instead of exec'ing a
script for every request, it allows to open a single connection to an
``application'' and send the requests/receive the responses over that
socket using a simple binary protocol.
At the moment gmid supports three different methods of opening a
fastcgi connection:
- local unix sockets, with: fastcgi "/path/to/sock"
- network sockets, with: fastcgi tcp "host" [port]
port defaults to 9000 and can be either a string or a number
- subprocess, with: fastcgi spawn "/path/to/program"
the fastcgi protocol is done over the executed program stdin
of these, the last is only for testing and may be removed in the
future.
P.S.: the fastcgi rule is per-location of course :)
- Commit:
c705ecb1ba3dd16e302f340a6bce96c0f28879e4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
factorize all "only once" checks
and while there add some more
- Commit:
fdea6aa0bca24f6f947e2126ce101fd59caa7a31
- From:
- Omar Polo <op@omarpolo.com>
- Date:
allow ``root'' rule to be specified per-location block
- Commit:
adbe6a6493c0e91fcfc918db8f4b5839a2867b1c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
always use ensure_absolute_path and improve its error message
- Commit:
d06d6f4bba4851cb31464867d83b369d22bf3e2c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
sort tokens