nsmcp::LogRedactor method queryValues (public)

 <instance of nsmcp::LogRedactor[i]> queryValues text

Defined in /usr/local/ns/tcl/nsmcp/lib/log-redaction.tcl

Parameters:
text (required)

Testcases:
No testcase defined.
Source code:
set start 0
# Match literal query separators. Decode names, never values, for policy
# comparison; retain the original URL spelling and nonsensitive values.
while {[regexp -indices -start $start {[?&]([^=&#\s"<>]+)=([^&#\s"<>]*)} $text match key value]} {
    lassign $key a b
    set name [string range $text $a $b]
    if {[catch {ns_urldecode -charset utf-8 -- $name} decoded]} {
        set decoded $name
    }
    lassign $value a b
    if {[:sensitive $decoded ${:queryParameters}]} {
        set text "[string range $text 0 [expr {$a-1}]]${:replacement}[string range $text [expr {$b+1}] end]"
        set start [expr {$a+[string length ${:replacement}]}]
    } else {set start [expr {[lindex $match 1]+1}]}
}
return $text
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: