* Add requirements.txt with packages used by WSGI Elixir
* Make API compatible with latest Falcon
* Remove remaining global variables from web.py
* Remove Parsed__Path
Falcon passes parsed path segments as arguments to handler methods.
I think it really does not make sense anymore to put that information
back into a tuple just to unpack it again.
* Add RawPathComponent middleware to support encoded slashes
Some paths previously accepted by Elixir can contain encoded slashes.
For example:
/arm-trusted-firmware/sandbox%2Flts-v2.10.3-20240405T0714/source
Falcon by default uses a version of URL that is already decoded. This
default makes parsing said paths impossible.
https://falcon.readthedocs.io/en/v3.1.2/user/recipes/raw-url-path.html
* Move request context building to middleware
* Move validation and unquoting to path converters
* Move base url generation to new functions