Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2014-05-20
| ||
00:39 | Use [expr 1] instead of [list 1] as a minor performance optimization. Leaf check-in: c639ddbed7 user: andy tags: handler-script | |
2014-05-19
| ||
23:27 | Rework configuration to have handlers be a script, not a list. Move [dict getnull] into the wibble namespace. Use [info level 0] instead of trying to figure out the current command name. Add [intercept] command for use in handler script. Add [stop] command to kill servers by port. check-in: 71011d06ab user: andy tags: handler-script | |
2014-05-10
| ||
02:38 | Fix shebang per comment from andrewsh. Leaf check-in: 180aada6d2 user: andy tags: trunk | |
2014-05-02
| ||
21:14 | Correct HTTP/1.1 comparison per comment from andrewsh. check-in: 6dc367091c user: andy tags: trunk | |
2014-04-21
| ||
00:01 | Incorporate patch for HTTP/1.0 and connection: close from andrewsh. Reference http://wiki.tcl.tk/_/revision?N=27382&V=54#pagetoc0aa08018 for discussion. check-in: c62e5a1b5d user: andy tags: trunk | |
2012-09-22
| ||
08:32 | SEH: Ver 0.4.3: more unneeded code ripped out after consultation with AMG. Source: http://wiki.tcl.tk/_/revision?N=27377.code&V=34. Leaf check-in: e0addd3c71 user: andy tags: SEH-performance, version-0.4.3 | |
04:46 | SEH: Ver. 0.4.2: pulled out some unnecessary changes in how request and response vars are handled. Source: http://wiki.tcl.tk/_/revision?N=27377.code&V=33. check-in: bf836b2349 user: andy tags: SEH-performance, version-0.4.2 | |
2012-09-21
| ||
07:49 | SEH: I take Andy up on his offer to make code changes here and humbly offer a version I've labeled 0.4.1. Details at http://wiki.tcl.tk/_/revision?N=27381&V=84. Source: http://wiki.tcl.tk/_/revision?N=27377.code&V=32. check-in: f3ed7b0923 user: andy tags: SEH-performance, version-0.4.1 | |
2012-04-13
| ||
16:50 |
Friday the Thirteenth special edition
Only two things are fixed in this version.
| |
2012-04-01
| ||
19:42 |
April Fool's special edition
Any bugs introduced by this release are intentional April Fool's pranks, not careless mistakes.
| |
2011-11-29
| ||
23:38 |
[icc catch] fix
Just one change this time.
| |
2011-11-28
| ||
08:31 |
[icc] improvements
Some [icc] stuff...
| |
2011-11-25
| ||
04:31 |
New outgoing header format, Thanksgiving bonanza
Major revision!
| |
2011-02-05
| ||
00:52 |
Inter-coroutine communication, text/xml POST, cleanup scripts, contentchan
I added a bunch of new features.
| |
2010-12-23
| ||
06:04 |
Fix 501 bug, remove empty query and post
Oops. The 501 code didn't work. I forgot to quote the value of the header key, resulting in an extra argument to [dict create]. Also, I removed the query, rawquery, post, and rawpost keys from the request dictionary when no query or post was made. This makes it easier to check if there was a query or a post.
| |
2010-12-20
| ||
14:25 |
Remove no-op [nexthandler] invocations, rearrange [suspend]
Per JBR's suggestion, I removed the [nexthandler $state] calls when $state is unmodified. Instead the zone handler just returns. This winds up having the same effect, because the no-op [nexthandler $state] was changing $system without really modifying it. ;^)
| |
2010-12-18
| ||
23:51 |
State dicts, coroutine helpers, fixed zone handler order
I changed the zone handler arguments, so any existing zone handlers will have to be rewritten. I hope this new method works better than the fixed request/response approach I had before. Also, I changed the way the coroutines [yield] and are resumed; this should make AJAX work better. (Yes, Wibble supports AJAX!)
| |
2010-11-13
| ||
06:50 |
Non-blocking file transfers, bug workarounds
Sorry about the blocking [chan copy]. It's fixed now.
| |
2010-11-07
| ||
05:04 |
Separate templates and scripts, improved request dictionary reporting
Now that I've finished reorganizing all the Wibble pages, I'm eager to edit them some more! :^)
| |
2010-11-06
| ||
19:33 |
Header and POST parsing.
I've been holding on to these changes for far too long, and I'm glad to finally publish them.
The channel closure detection makes it possible to close connections due to timeouts. This isn't implemented yet, but it would be nice to harden Wibble against basic DoS attacks. check-in: eaa66764e3 user: andy tags: trunk | |
2009-12-19
| ||
17:14 | Use neither [namespace code] nor [namespace current] to identify the coroutine command. http://wiki.tcl.tk/_/revision?N=23626&V=80 check-in: 902f2fb0a0 user: andy tags: trunk | |
2009-12-18
| ||
07:45 | Instead of [namespace code], explicitly use [namespace current] to identify the coroutine command. http://wiki.tcl.tk/_/revision?N=23626&V=76 check-in: 3920957b86 user: andy tags: trunk | |
07:27 | Use [namespace code] to armor the coroutine command being executed. http://wiki.tcl.tk/_/revision?N=23626&V=75 check-in: 6c59e8eb84 user: andy tags: trunk | |
2009-12-02
| ||
17:55 | Per Miguel Sofer, use [variable] instead of giving the namespace'd variable name. http://wiki.tcl.tk/_/revision?N=23626&V=61 check-in: 3b5983aeb4 user: andy tags: trunk | |
2009-11-17
| ||
05:14 | Use [getblock] instead of [getline] to get non-chunked request body. http://wiki.tcl.tk/_/revision?N=23626&V=57 check-in: fe25f88b0f user: andy tags: trunk | |
2009-11-12
| ||
14:57 | Remove charset=utf-8. http://wiki.tcl.tk/_/revision?N=23626&V=56 check-in: 4bccaaab72 user: andy tags: trunk | |
03:05 | Add header comment giving name, URL, (obsolete) email contact, and license. Rework long line detection. Remove [filejoin] in favor of simple concatenation. http://wiki.tcl.tk/_/revision?N=23626&V=55 check-in: 022fd7f3c5 user: andy tags: trunk | |
2009-06-17
| ||
03:05 | Remove [contentrange]. http://wiki.tcl.tk/_/revision?N=23626&V=45 check-in: 69e5aa2d4e user: andy tags: trunk | |
03:04 | Don't use [namespace export] because the wibble namespace isn't meant to be imported. In the request dict, rename querytext to rawquery, and add rawheader. Split [get] into [getline] and [getblock]. Add the (nonexistent) [contentrange] handler to the demonstration after the [notfound] fallback (this change must have been done in error). http://wiki.tcl.tk/_/revision?N=23626&V=44 check-in: 7a4531c476 user: andy tags: trunk | |
2009-06-14
| ||
00:25 | Use [catch] instead of single-argument [try] which doesn't actually inhibit errors. http://wiki.tcl.tk/_/revision?N=23626&V=42 check-in: 3a1846e481 user: andy tags: trunk | |
2009-06-13
| ||
23:58 | Compact the non-chunked request and zone handler match code. Rearrange content length computation. http://wiki.tcl.tk/_/revision?N=23626&V=41 check-in: 0db237210e user: andy tags: trunk | |
23:41 | Change the way [operation] encodes its result. Pass zone handlers preliminary response dictionaries. Remove [operation] in favor of separate [sendresponse] and [nexthandler] commands. http://wiki.tcl.tk/_/revision?N=23626&V=39 check-in: d0f8d8522d user: andy tags: trunk | |
14:23 | Compact the first line HTTP parser code and the chunked request code. Improve HTTP header parser and generator to handle multi-line headers. Fix [log] so it actually works. http://wiki.tcl.tk/_/revision?N=23626&V=37 check-in: 8b1da2f099 user: andy tags: trunk | |
2009-06-12
| ||
23:27 | Use the centralized error system on excessively long lines. http://wiki.tcl.tk/_/revision?N=23626&V=34 check-in: 2f7c2fa2f0 user: andy tags: trunk | |
2009-05-30
| ||
20:35 | Catch errors when finally closing the socket. http://wiki.tcl.tk/_/revision?N=23626&V=28 check-in: b36b0d2acf user: andy tags: trunk | |
19:59 | Improve error logging. Create [log] command. Close the socket even when an error doesn't occur. http://wiki.tcl.tk/_/revision?N=23626&V=26 check-in: 5f71e0aa5c user: andy tags: trunk | |
19:24 | Use [chan configure -translation] instead of -encoding. http://wiki.tcl.tk/_/revision?N=23626&V=25 check-in: 3255e68808 user: andy tags: trunk | |
19:09 | Don't keep-alive on 404 and other errors. http://wiki.tcl.tk/_/revision?N=23626&V=24 check-in: 16c9b455f1 user: andy tags: trunk | |
19:02 | Put everything in a wibble package and a wibble namespace. Add [handle] to register a zone handler. Create [listen] command. http://wiki.tcl.tk/_/revision?N=23626&V=23 check-in: e13c7a2969 user: andy tags: trunk, version-0.1 | |
18:13 | Convert incoming HTTP header keys to lowercase. Improve range request handling. http://wiki.tcl.tk/_/revision?N=23626&V=22 check-in: 2170975245 user: andy tags: trunk | |
17:33 | Fix HTTP parser to not be greedy, or else it includes trailing spaces in the protocol name. http://wiki.tcl.tk/_/revision?N=23626&V=21 check-in: 0c27dc620b user: andy tags: trunk | |
17:31 | Centralize HTTP header capitalization logic. Permit extra spaces in HTTP. Only emit Content-Range when a range was requested. Remove [bgerror]. http://wiki.tcl.tk/_/revision?N=23626&V=20 check-in: 5b4c6ea97e user: andy tags: trunk | |
15:56 | Update [get] to abort the coroutine on excessively long header lines, indicative of DoS attempts. http://wiki.tcl.tk/_/revision?N=23626&V=19 check-in: 1ac3ccc2ff user: andy tags: trunk | |
06:26 | Remove extra closing bracket from [notfound]. http://wiki.tcl.tk/_/revision?N=23626&V=15 check-in: e8289016ec user: andy tags: trunk | |
04:52 | Oops, forgot one place that needs [operation]. http://wiki.tcl.tk/_/revision?N=23626&V=14 check-in: 232fe38f72 user: andy tags: trunk | |
04:48 | Add [operation], and make zone handlers use it instead of return. http://wiki.tcl.tk/_/revision?N=23626&V=13 check-in: d399ee9291 user: andy tags: trunk | |
2009-05-29
| ||
23:09 | Use iso8859 encoding per HTTP compliance. Don't use the forbidden identity encoding. http://wiki.tcl.tk/_/revision?N=23626&V=7 check-in: 11d5f7ec5d user: andy tags: trunk | |
22:47 | Add comment describing $root. Remove $statuscodes. Rename some variables. Significantly rework [process]. http://wiki.tcl.tk/_/revision?N=23626&V=4 check-in: 986021df18 user: andy tags: trunk | |
19:30 | Rename [directory] zone handler to [dirlist]. http://wiki.tcl.tk/_/revision?N=23626&V=3 check-in: 5c52be654c user: andy tags: trunk | |
19:12 | Add missing comment describing [getresponse]. http://wiki.tcl.tk/_/revision?N=23626&V=2 check-in: ae8c254329 user: andy tags: trunk | |