Posted to tcl by colin at Sat Sep 25 02:50:51 GMT 2010view pretty

# direct domain to proxy-fetch an image
package require Debug
Debug define proxyimg 10

package provide ProxyImg 1.0

class create ::ProxyImg {
    superclass Direct

    method done {r args} {
	Httpd Resume [Http Ok $r $mycontent $contenttype]
    }

    method reader {r opts} {
	variable socket
	# read and interact with server
	# when finished, call [my done $r ...]
    }

    method / {r args} {
	variable socket [socket "server"]
	fileevent $socket [list [self] reader $r $args]
	return [Httpd Suspend $r]
    }

    constructor {args} {
	variable {*}[Site var? ProxyImg]	;# allow .ini file to modify defaults
	variable {*}$args
	next? {*}$args
    }
}