summaryrefslogtreecommitdiffstats
path: root/library
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-18 09:08:35 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-03-18 09:08:35 (GMT)
commitd5ac687adb2b0e67f8afcdf007890d6da415f26c (patch)
treeecd5bbfcc518fb0924fc21472c2be6bdcf2c6666 /library
parentcb121886a41b47d26c93280c3f125819b5ed55d5 (diff)
parent7834acd2e42f731cb81a37176d8c8cbc371e43f0 (diff)
downloadtcl-d5ac687adb2b0e67f8afcdf007890d6da415f26c.zip
tcl-d5ac687adb2b0e67f8afcdf007890d6da415f26c.tar.gz
tcl-d5ac687adb2b0e67f8afcdf007890d6da415f26c.tar.bz2
Merge 8.7
Diffstat (limited to 'library')
-rw-r--r--library/http/http.tcl27
1 files changed, 24 insertions, 3 deletions
diff --git a/library/http/http.tcl b/library/http/http.tcl
index 1f476f3..c0f6e5d 100644
--- a/library/http/http.tcl
+++ b/library/http/http.tcl
@@ -1746,6 +1746,9 @@ proc http::OpenSocket {token DoLater} {
}
fconfigure $sock -translation {auto crlf} \
-buffersize $state(-blocksize)
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ fconfigure $sock -profile tcl8 \
+ }
##Log socket opened, DONE fconfigure - token $token
}
@@ -2164,6 +2167,9 @@ proc http::Connected {token proto phost srvurl} {
lassign [fconfigure $sock -translation] trRead trWrite
fconfigure $sock -translation [list $trRead crlf] \
-buffersize $state(-blocksize)
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ fconfigure $sock -profile tcl8 \
+ }
# The following is disallowed in safe interpreters, but the socket is
# already in non-blocking mode in that case.
@@ -2554,6 +2560,9 @@ proc http::ReceiveResponse {token} {
lassign [fconfigure $sock -translation] trRead trWrite
fconfigure $sock -translation [list auto $trWrite] \
-buffersize $state(-blocksize)
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ fconfigure $sock -profile tcl8 \
+ }
Log ^D$tk begin receiving response - token $token
coroutine ${token}--EventCoroutine http::Event $sock $token
@@ -4545,7 +4554,11 @@ proc http::Eot {token {reason {}}} {
set enc [CharsetToEncoding $state(charset)]
if {$enc ne "binary"} {
- set state(body) [encoding convertfrom $enc $state(body)]
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ set state(body) [encoding convertfrom -profile tcl8 $enc $state(body)]
+ } else {
+ set state(body) [encoding convertfrom $enc $state(body)]
+ }
}
# Translate text line endings.
@@ -4628,7 +4641,11 @@ proc http::GuessType {token} {
if {$enc eq "binary"} {
return 0
}
- set state(body) [encoding convertfrom $enc $state(body)]
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ set state(body) [encoding convertfrom -profile tcl8 $enc $state(body)]
+ } else {
+ set state(body) [encoding convertfrom $enc $state(body)]
+ }
set state(body) [string map {\r\n \n \r \n} $state(body)]
set state(type) application/xml
set state(binary) 0
@@ -4709,7 +4726,11 @@ proc http::quoteString {string} {
# a pre-computed map and [string map] to do the conversion (much faster
# than [regsub]/[subst]). [Bug 1020491]
- set string [encoding convertto $http(-urlencoding) $string]
+ if {[package vsatisfies [package provide Tcl] 9.0-]} {
+ set string [encoding convertto -profile tcl8 $http(-urlencoding) $string]
+ } else {
+ set string [encoding convertto $http(-urlencoding) $string]
+ }
return [string map $formMap $string]
}