Commits
- Commit:
5cc70f14c1532e84bd763a1011f1e531007e34f9
- From:
- Omar Polo <op@omarpolo.com>
- Date:
s/check/resolve
- Commit:
4f147cdf76dda78f6e60c93ee92d136eca0e4817
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix add_proxy path check
IH_PATH is almost always defined, check that the path is the empty
string.
- Commit:
870edfb9f7fcd981eb681c9c59072f82c9a6891f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix port parsing
- Commit:
a165601e7e2641edcf7b36be8ce9c03ab281fd99
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: support framents and enable fragments tests
- Commit:
92e07b23c3cad37a92a7888b062064996891b1a3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: add tests for the parser
- Commit:
8b2b06b5122892c74e4dd58772be73ea2fd2933b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: rewrite remove_dot_segments to be clearer
the previous version was straight out RFC3986 (more or less, it had a
bug I didn't spot), but it's ugly and extremely long. Rewrite it to be
somewhat inspired by canonpath (from kern_pledge.c) and way simpler.
There are some small differences in how UNIX paths and URLs paths are
canonized (in UNIX path you don't care too much of a trailing '/', in
URLs you do.)
The new code is more clear and passes all the tests in RFC3986, so I'm
calling it a win.
- Commit:
cb7621af57ac2abad12fa61893d00199daebdd29
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix remove_dot_segments algorithm
i've misread the description in the RFC; we should copy up to, but not
including, the next '/' at the end and manually inject some '/' in some
other cases.
- Commit:
a9eac73439353c3222a01235919b74a0ba6dc483
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix remove_dot_segments: should copy until (including) "/"
- Commit:
30398ec1cb13001ad23b1cb8c6d3e2e93796da2f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix typo: should check the first two characters, not three
- Commit:
5cb6cd4da7c71adf2c773f9cc29f8ad523e8fbfa
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix path check
path should *start* with "/" to enter that branch, not be exactly "/".
- Commit:
a655e85afdbbaa364ec9f8ca1236b18846d0775b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: fix logic in iri_unparse
make sure path starts with "/" only when there's an authority part, not
when it's not there!
- Commit:
172e0e1e7163e57039bb99df7eeb6dab77d843c2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: drop extraneous cpfields(IH_QUERY)
- Commit:
997b9cd04af3eb9e27e6ad8422d915af04902a7a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: set some flags as defined only when actually copying
- Commit:
d59fad58f6a3ce0c11ee5792e21e0ce73a059dd5
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: draft iri_unparse
- Commit:
245a86c365a3d921a0ac2157809060c52925d619
- From:
- Omar Polo <op@omarpolo.com>
- Date:
iri: avoid unpleasant infinite loop in remove_dot_segments
need to copy until the *next* path segment, otherwise we loop
indefinitely if *p == '/'.