Jason Volk
b637eb0c50
ircd::rfc3986: Fix missing exception translation.
2022-07-19 14:26:23 -07:00
Jason Volk
9914fe33d1
ircd::rfc3896: Eliminate throwing expectations for port suffix grammars.
2022-06-28 22:43:48 -07:00
Jason Volk
0c281f10d0
ircd::rfc3986: Move encoder/decoder into parser ns; fix karma::grammar.
2022-06-17 21:34:02 -07:00
Jason Volk
f40b77c307
ircd::rfc3986: Simplify typedef; simplify pragma/linkage.
2022-06-17 21:11:54 -07:00
Jason Volk
ba06a52368
ircd::rfc3986: Add public rule abstracting uri_parse construction.
2022-06-17 21:11:54 -07:00
Jason Volk
6f0f6a46ac
ircd::rfc3896: Branch optimizations for convenience suite.
2022-06-17 21:11:54 -07:00
Jason Volk
dd4e354375
ircd::rfc3986: Additional spirit related fixes/dressings.
2022-06-17 21:11:54 -07:00
Jason Volk
1055d66f94
Modernize various parser grammars; remove empty ctors.
2022-06-17 21:11:53 -07:00
Danilo Spinella
d87e7a5e32
irdc/rfc3986: Fix build with latest Boost
...
From `boost/spirit/home/karma/nonterminal/rule.hpp`:
BOOST_STATIC_ASSERT_MSG(
!is_reference<attr_type>::value && !is_const<attr_type>::value,
"Const/reference qualifiers on Karma rule attribute are meaningless");
2020-12-23 03:56:43 -08:00
Jason Volk
e7bdcedd29
ircd::rfc3986: Use uppercase hex characters for encoding.
2020-11-08 03:48:57 -08:00
Jason Volk
51fdf2bfdf
ircd::rfc3986::decoder: Relax decode restriction to all non-control.
2020-10-20 22:19:34 -07:00
Jason Volk
9d45118628
ircd::rfc3986::decoder: Relax unreserved characters to non-control.
2020-10-20 21:48:06 -07:00
Jason Volk
eb43826d99
ircd::rfc3986: Consolidate visibility attributions; additional comments.
2020-08-21 06:20:26 -07:00
Jason Volk
112185c213
ircd::rfc3986: Use generator template for encode().
2020-05-26 04:54:52 -07:00
Jason Volk
ec0471934a
ircd::json: Minor simplifications.
...
ircd::rfc3986: Minor simplifications.
ircd::fmt: Minor cleanup.
2020-05-19 15:55:18 -07:00
Jason Volk
bb52cbd2d1
ircd::rfc3986: Move port number extraction grammars out of function static.
2020-05-18 18:12:34 -07:00
Jason Volk
0cb7378793
ircd::rfc3986: Move static host grammars outsdie of function.
2020-05-18 18:12:34 -07:00
Jason Volk
f4fe10ba38
ircd::rfc3986: Add expectations for host and port parsers.
2020-05-14 11:05:42 -07:00
Jason Volk
cb41660c94
ircd: Applications of loopless copy overload for single character.
2020-04-13 23:58:33 -07:00
Jason Volk
628772c3b5
ircd::rfc3986: Minor fix indentation. [ci skip]
2020-04-13 21:45:57 -07:00
Jason Volk
5dc16850c6
ircd::rfc3986: Relax decoder to allow already-decoded inputs.
2020-04-13 20:24:48 -07:00
Jason Volk
af9629324e
ircd::rfc3986: Refactor uri encoder/decoder related; reorg.
...
ircd::rfc3986::encoder: Proper unreserved character selection.
ircd::rfc3986::decoder: Split into safe and unsafe grammars and interface.
ircd::rfc3986::decoder: Use expectation_failure template exception.
2020-03-28 23:39:13 -07:00
Jason Volk
70a0f0eb0b
ircd::rfc3986: Fix rule label.
2020-03-28 19:22:38 -07:00
Jason Volk
dea3193f0a
ircd::rfc3986: Fix assert from 737d9dd1626; related 37690c43d6.
2020-02-25 20:04:17 -08:00
Jason Volk
dc8193a523
ircd::rfc3986: Advise namespace import for clang.
2020-02-01 16:20:35 -08:00
Jason Volk
801f0d57b7
ircd: Fix attributes for clang.
2019-06-23 07:37:23 -06:00
Jason Volk
22f3c41603
ircd::rfc3986: Add URI decomposition.
2019-06-13 21:44:51 -06:00
Jason Volk
0355391e34
ircd::rfc3986: Complete the URI grammars as specified.
2019-06-13 20:06:05 -06:00
Jason Volk
744438ec49
ircd: Precompile the spirit.h header.
2019-04-20 19:24:18 -07:00
Jason Volk
af1bd92b26
ircd::spirit: Apply hidden visibility to all headers + our internal grammar namespaces.
2019-04-16 18:33:01 -07:00
Jason Volk
fb199fbc01
ircd::rfc3986: Fix duration of constructed validator rules; improve grammar branches.
2019-04-16 16:11:23 -07:00
Jason Volk
46346f504e
ircd::rfc3986: Reorg grammar stack; add variable valid() tool.
2019-03-25 12:25:25 -07:00
Jason Volk
a9cff4f073
ircd::rfc3986: Add valid_literal() to interface.
2019-03-24 20:50:16 -07:00
Jason Volk
50e7d81d36
ircd::rfc3986: Add interface to extract host and port from remote via grammar.
2019-03-13 13:11:53 -07:00
Jason Volk
f955f1d494
ircd::rfc3986: Add length checks to validations; consolidate validation paths from rfc1035.
2019-03-13 13:11:51 -07:00
Jason Volk
581fcca2f7
ircd::rfc3986: Expose parsing grammar externally.
2019-02-26 13:52:10 -08:00
Jason Volk
965134079e
ircd: Fix regression.
2019-02-05 23:18:05 -08:00
Jason Volk
cbf456a388
ircd: Rename and refactor ircd::assertion interface into ircd::panic.
2019-01-13 16:37:31 -08:00
Jason Volk
2e1828adbf
ircd::rfc3986: De-template grammar; fix rule array.
2018-12-29 19:43:17 -08:00
Jason Volk
086f92f989
ircd::rfc3986: Type checking on form encoding from json::members.
2018-12-06 17:31:22 -08:00
Jason Volk
6de17431ff
ircd: Reverse arguments for url::encode()/decode(); minor reorg.
2018-12-06 16:41:47 -08:00
Jason Volk
2caf425fde
ircd::rfc3986: Add form_encode() composer from json::members.
2018-12-06 16:27:05 -08:00
Jason Volk
67a759ac21
ircd::rfc3986: Add validation suite for hostname strings related.
2018-10-02 18:11:50 -07:00
Jason Volk
a893c1e0a7
ircd::rfc3986: Rename some rules in the grammar.
2018-10-02 18:11:50 -07:00
Jason Volk
30eb9178bd
ircd: Consolidate spirit typedefs from all relevant units into spirit.h.
2018-03-17 10:44:40 -07:00
Jason Volk
0f5e84b2e0
ircd::rfc3986: Copy relevant grammar from m::id; TODO: share.
2018-03-13 22:44:13 -07:00
Jason Volk
be624ca7f6
Update Copyrastafaris.
2018-02-05 21:24:34 -08:00
Jason Volk
03dea97bb2
ircd: Add preliminary RFC3986 grammar; move urlencoding there.
2017-12-12 14:59:40 -07:00