Escape a value for a storage path segment (FolderPath).
Path traversal is the risk, not quoting. A value that is .. or ., or contains a separator, is
REFUSED (this throws) rather than stripped: stripping turned .. into nothing and ../other into
other, so clients/{{ context.X }} rendered clients/ (every client's folder) or another
client's folder — a wider or different bound, silently. . names the enclosing folder, so it widens
the same way. Control characters are still removed. Every legitimate value (uuid, enum, int,
iso-date, bool, and a name such as Acme..Inc) is returned unchanged.
Parameters
value: string
Returns string
Throws
when the value is .. or ., or contains / or a backslash
Escape a value for a storage path segment (
FolderPath).Path traversal is the risk, not quoting. A value that is
..or., or contains a separator, is REFUSED (this throws) rather than stripped: stripping turned..into nothing and../otherintoother, soclients/{{ context.X }}renderedclients/(every client's folder) or another client's folder — a wider or different bound, silently..names the enclosing folder, so it widens the same way. Control characters are still removed. Every legitimate value (uuid, enum, int, iso-date, bool, and a name such asAcme..Inc) is returned unchanged.