-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathuri_templates.format.txt
35 lines (31 loc) · 2.55 KB
/
uri_templates.format.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
┏━━━━━━━━━━━━━━━━━━━┓
┃ URI_TEMPLATES ┃
┗━━━━━━━━━━━━━━━━━━━┛
STANDARDS ==> #RFC 6570
GOAL ==> #Templating solution for URI
{[PREFIX]VAR[SUFFIX][,...]} #Renders { VAR: VAL }
#
# PREFIX STR VAL_ARR VAL_ARR (*) { VAR2: VAL, ... } { VAR2: VAL, ... } (*)
#
# VAL VAL,... VAL,... VAR2,VAL,... VAR2,VAL,...
# + VAL VAL,... VAL,... VAR2,VAL,... VAR2,VAL,...
# # #VAL #VAL,... #VAL,... #VAR2,VAL,... #VAR2,VAL,...
# (for HOST)
# . .VAL .VAL,... .VAL.... .VAR2,VAL,... .VAR2=VAL....
# (for PATH)
# / /VAL /VAL,... /VAL/... /VAR2,VAL,... /VAR2=VAL/...
# (for QUERY)
# ; ;VAR[=VAL] ;VAR=VAL,VAL2,... ;VAR[=VAL];VAR=VAL2;... ;VAR=VAR2,VAL,... ;VAR2[=VAL];VAR3=VAL2;...
# & &VAR=VAL &VAR=VAL,VAL2,... &VAR=VAL&VAR=VAL2&... &VAR=VAR2,VAL,... &VAR2=VAL&VAR3=VAL2&...
# ? ?VAR=VAL ?VAR=VAL,VAL2,... ?VAR=VAL&VAR=VAL2&... ?VAR=VAR2,VAL,... ?VAR2=VAL&VAR3=VAL2&...
#
#SUFFIX:
# - * ("explode") -> see above
# - :NUM -> truncates at NUM chars (not with OBJ|ARR)
#VAR:
# - name: [[:alnum:]._] or percent-encoding
# - keep duplicate VAR
#VAL percent-encoding:
# - on anything but [:alnum:] - . _ ~
# - (if PREFIX + or #) also allows + ! $ & ' ( ) * , ; = : @ / ? #
#VAL undefined|null -> ignored