summaryrefslogtreecommitdiffstats
path: root/tests/httpd
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2009-04-10 13:15:57 (GMT)
committerdgp <dgp@users.sourceforge.net>2009-04-10 13:15:57 (GMT)
commit47e1c81009e30a84cb47e15b40dac9ee254136b6 (patch)
tree10738297df6a829398950e579bdec6cf9c35f7a0 /tests/httpd
parent1d411553104b36d5a80c7a465812e262145c1942 (diff)
downloadtcl-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/httpd16
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"} {