| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tests/http.test
* doc/http.n
* library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful
geturl calls sometimes leaked memory and resources (sockets).
Also, switched around some of the logic so that http::wait never
throws an exception. This is because in an asynchronous geturl,
the command callback will probably end up doing all the error
handling anyway, and in an asynchronous situation, the user
expects to check the state when the transaction completes, as
opposed to being thrown an exception. For the http package, this
menas the user can check http::status for "error" and http::error
for the error message after doing the http::wait.
|
|
|
|
|
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: Fixed a newly introduced bug where if
there's a -command callback and something goes wrong, geturl threw
an exception, called the callback, and unset the token. I changed
it so that it will not call the callback when throwing an
exception (so the caller only finds out about a given error from
one place). Also, fixed http::ncode so that it actually gives you
back the http return code (i.e. 200, 404, etc.) instead of the
first digit of the version of HTTP being used (i.e. 1).
|
|
|
|
|
|
| |
without reading post data" scenario. Reverted to the previous
filevent configuratiuon, which seems to work better with small
amounts of post data.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: For the -querychannel option,
fconfigure the socket to be binary so that we don't translate
anything while reading the data. This is because we determine the
content length of the data on the channel by using seek (to the end
of the file) and tell on the file handle, and we need the
content-length to match the amount of data actually sent, and
translation can affect the number of bytes posted.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: Removed an unnecessary fileevent
statement from the error processing part of the Write method.
Also, fixed two potential memory leaks in wait and reset, in which
the state array wasn't being unset before throwing an exception.
Prior to this version, Brent checked in a fix to catch a
fileevent statement that was sometimes causing a stack trace when
geturl was called with -timeout. I believe Brent's fix is
necessary because TLS closes bad sockets for secure connections,
and the fileevent was trying to act on a socket that no longer
existed.
|
| |
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: Fixed a bug where string query data
that was bigger than queryblocksize would get duplicate characters
at block boundaries.
|
|
|
|
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: Fixed bug 4463, where we were getting
a stack trace if we tried to publish a project to a good host but
a port where there was no server listening. It turned out the
problem was a stray fileevent that needed to be cleared. Also,
fixed a bug where http::code could stack trace if called on a bad
token (one which didn't represent a successful geturl) by adding
an http element to the state array in geturl.
|
|
|
|
|
|
|
|
| |
* library/http2.1/http.tcl: geturl used to throw an exception when
the connection failed; I accidentally returned a token with the
error info, breaking backwards compatibility. I changed it back
to throwing an exception, but unsetting the state array first
(thus still eliminating the original memory leak problem).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
some of Brent's modifications to allow asynchronous posts (via
-command). Also modified -queryprogress so that it calls the
query callback as <callback> <token> <total size> <current size>
to be consistent with -progress. Added -queryblocksize option
with default 8192 bytes for post blocksize. Fixed a bunch of
potential memory leaks for the case when geturl receives bad args
or can't open a socket, etc. Overall, the package really rocks
now.
* doc/http.n: Added -queryblocksize, -querychannel, and
-queryprogress. Also, changed the description of -blocksize,
which states that the -progress callback will be called for each
block, to now qualify that with an "if -progress is specified".
* tests/http.test: Added a querychannel test for synchronous and
asynchronous posts, altered the queryprogress test such that the
callback conforms to the -progress format. Also, had to use the
-queryblocksize option to do the post 16K at a time to match
Brent's expected results (and to test that -queryblocksize works).
|
| |
|
|
|
|
|
|
|
|
| |
http::geturl and also changed it so that writing the post data
is event driven if the queryprogress callback or a timeout is given.
This allows a timeout to occur when writing lots of post data.
The queryprogress callback is called after each block of query
data is posted. It has the same signature as the -progress callback.
|
|
|
|
|
| |
* library/http2.1/http.tcl: The query data POSTed was newline
terminated when it shouldn't be altered [Bug: 4089]
|
| |
|
|
|
|
| |
[Bug: 3752]
|
| |
|
|
|
|
| |
* library/http2.1/pkgIndex.tcl: updated http package to 2.2
|
|
|
|
|
| |
commands to http:: package (better support for tls/SSL),
as well as -type argument to http::geturl. [RFE: 2617]
|
|
|
|
|
| |
not available. Also correctly fixed the bug between -timeout
and a subsequent http::status call.
|
| |
|
|
|
|
| |
e.g., one that is used with the -timeout flag.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* library/auto.tcl:
* library/init.tcl:
* library/ldAout.tcl:
* library/package.tcl:
* library/safe.tcl:
* library/word.tcl:
* library/http2.1/http.tcl:
* library/msgcat1.0/msgcat.tcl: updated libraries to better
Tcl style guide (no more string comparisons with == or !=, spacing
changes).
|
|
|
|
|
| |
* library/http2.1/http.tcl: Made use of "i" in init section not
use global var and start at 0 (was 1). [Bug: 2502]
|
| |
|
| |
|
| |
|
|
|
|
| |
Added http::cleanup function
|
|
|
|
|
| |
CopyDone since the user may have already called http::reset.
[Bug: 1108]
|
|
|
|
| |
uset the state array.
|
| |
|
| |
|
|
|