diff options
author | Omar Polo <op@omarpolo.com> | 2020-12-25 13:13:12 +0100 |
---|---|---|
committer | Omar Polo <op@omarpolo.com> | 2020-12-25 13:13:12 +0100 |
commit | 33d32d1fd66a577f22f3f33f238e8dac44ec9995 (patch) | |
tree | f9010d36f92d9239d0b80c87d9b57ee10fd4776d /.gitignore | |
parent | d5aba4c791266e35cf79cec02dcd15267fb62f62 (diff) |
implement a valid RFC3986 (URI) parser
Up until now I used a "poor man" approach: the uri parser is barely a
parser, it tries to extract the path from the request, with some minor
checking, and that's all. This obviously is not RFC3986-compliant.
The new RFC3986 (URI) parser should be fully compliant. It may accept
some invalid URI, but shouldn't reject or mis-parse valid URI. (in
particular, the rule for the path is way more relaxed in this parser
than it is in the RFC text).
A difference with RFC3986 is that we don't even try to parse the
(optional) userinfo part of a URI: following the Gemini spec we treat
it as an error.
A further caveats is that %2F in the path part of the URI is
indistinguishable from a literal '/': this is NOT conforming, but due
to the scope and use of gmid, I don't see how treat a %2F sequence in
the path (reject the URI?).
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -2,5 +2,6 @@ cert.pem key.pem TAGS gmid +uri_test *.o docs |