Ошибка загрузки файла с использованием http :: geturl в Tcl, содержащем пакет http-2.9 - PullRequest
1 голос
/ 10 июля 2019

Я использую http :: geturl для отправки двоичного файла с помощью этой команды

set fid [open $filename RDONLY]
fconfigure $fid -buffering full -encoding binary -translation binary

::http::geturl {http://10.39.51.221:11009/api/v1/sessions/1/ixnetwork/files?filename=test} \
    -type application/octet-stream \
    -querychannel $fid \
    -binary true \
    -headers {X-Api-Key 00000000000000000000000000000000 IxNetwork-Lib {IxNetwork tcl client v.IXTCLPROTOCOLVERSION} Host 10.39.51.221} \
    -timeout 180000

Этот код корректно работал против Tcl-8.6.6 с http-2.8.9.Но клиент зависает при использовании того же кода против того же Tcl-8.6.6 с другим пакетом http (http-2.9);Я чувствую это изменение поведения из-за этого изменения .

Ранее -translation был установлен только как двоичный файл (http-2.8.9)

fconfigure $state(-querychannel) -blocking 1 -translation binary

, тогда как в настоящее время -translation также извлекается из сокета (http-2.9)

lassign [fconfigure $sock -translation] trRead trWrite
fconfigure $state(-querychannel) -blocking 1 \
        -translation [list $trRead binary]

Тот же код работает правильно при возврате к (fconfigure $state(-querychannel) -blocking 1 -translation binary) в базе кода http-2.9.Пожалуйста, предложите любые изменения в моем коде для работы как с http-2.8.6, так и с http-2.9.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...