diff options
author | dgp <dgp@users.sourceforge.net> | 2020-09-30 15:59:51 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2020-09-30 15:59:51 (GMT) |
commit | cd8531d2930e5f6b0363494960ec70745709e3a0 (patch) | |
tree | f5142d6a92daef42c95d53c04f4d2d3bff26335f | |
parent | 4d4d50dc93778fa2443c61b728ae30620ccc73be (diff) | |
parent | 1f4f47ccf50b4d6518c3dbfd9fd09c7bbb785929 (diff) | |
download | tcl-cd8531d2930e5f6b0363494960ec70745709e3a0.zip tcl-cd8531d2930e5f6b0363494960ec70745709e3a0.tar.gz tcl-cd8531d2930e5f6b0363494960ec70745709e3a0.tar.bz2 |
merge 8.6
-rw-r--r-- | library/http/http.tcl | 8 | ||||
-rw-r--r-- | tests/http.test | 2 |
2 files changed, 4 insertions, 6 deletions
diff --git a/library/http/http.tcl b/library/http/http.tcl index abef596..b0f87de 100644 --- a/library/http/http.tcl +++ b/library/http/http.tcl @@ -733,7 +733,7 @@ proc http::geturl {url args} { -strict boolean -timeout integer -validate boolean - -headers list + -headers dict } set state(charset) $defaultCharset set options { @@ -747,10 +747,8 @@ proc http::geturl {url args} { foreach {flag value} $args { if {[regexp -- $pat $flag]} { # Validate numbers - if { - ([info exists type($flag)] && - ![string is $type($flag) -strict $value]) || - $flag eq "-headers" && [llength $value] %2 != 0 + if {($flag eq "-headers") ? [catch {dict size $value}] : + ([info exists type($flag)] && ![string is $type($flag) -strict $value]) } { unset $token return -code error \ diff --git a/tests/http.test b/tests/http.test index 15bc37f..97e6cfa 100644 --- a/tests/http.test +++ b/tests/http.test @@ -450,7 +450,7 @@ test http-3.33 {http::geturl application/xml is text} -body { } -result {test 4660 /test} test http-3.34 {http::geturl -headers not a dict} -returnCodes error -body { http::geturl http://test/t -headers NoDict -} -result {Bad value for -headers (NoDict), must be list} +} -result {Bad value for -headers (NoDict), must be dict} test http-4.1 {http::Event} -body { set token [http::geturl $url -keepalive 0] |