diff options
author | dgp <dgp@users.sourceforge.net> | 2009-04-10 13:15:57 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2009-04-10 13:15:57 (GMT) |
commit | 47e1c81009e30a84cb47e15b40dac9ee254136b6 (patch) | |
tree | 10738297df6a829398950e579bdec6cf9c35f7a0 /tests/httpd | |
parent | 1d411553104b36d5a80c7a465812e262145c1942 (diff) | |
download | tcl-47e1c81009e30a84cb47e15b40dac9ee254136b6.zip tcl-47e1c81009e30a84cb47e15b40dac9ee254136b6.tar.gz tcl-47e1c81009e30a84cb47e15b40dac9ee254136b6.tar.bz2 |
* tests/httpd: Backport new tests for http 2.7.3.
* tests/http.tcl:
Diffstat (limited to 'tests/httpd')
-rw-r--r-- | tests/httpd | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/httpd b/tests/httpd index b46a3f0..93ee08a 100644 --- a/tests/httpd +++ b/tests/httpd @@ -72,6 +72,10 @@ proc httpdRead { sock } { # Read the HTTP headers set readCount [gets $sock line] + if {[regexp {^([^:]+):(.*)$} $line -> key val]} { + lappend data(meta) $key [string trim $val] + } + } elseif {$data(state) == "query"} { # Read the query data @@ -195,17 +199,25 @@ proc httpdRespond { sock } { } # Catch errors from premature client closes - + catch { if {$data(proto) == "HEAD"} { puts $sock "HTTP/1.0 200 OK" } else { - puts $sock "HTTP/1.0 200 Data follows" + # Split the response to test for [Bug 26245326] + puts -nonewline $sock "HT" + flush $sock + puts $sock "TP/1.0 200 Data follows" } puts $sock "Date: [clock format [clock seconds] \ -format {%a, %d %b %Y %H:%M:%S %Z}]" puts $sock "Content-Type: $type" puts $sock "Content-Length: [string length $html]" + foreach {key val} $data(meta) { + if {[string match "X-*" $key]} { + puts $sock "$key: $val" + } + } puts $sock "" flush $sock if {$data(proto) != "HEAD"} { |