Posted to tcl by colin at Fri Mar 18 23:57:34 GMT 2011view pretty
code default {set r [Http NotFound $r]; <p> "[dict get $r -uri] Not Found"} # The following nubs are redirects, they generate a redirect from the first to the second URL /favico.ico { redirect /images/favico.ico ;# find the icon in /images } //mail.beldisplaytech.com/* { code { set r [Http Moved $r https://[dict get $r -host][dict get $r -path]]; dict get $r -content } } //beldisplaytech.com/* { code { set r [Http Moved $r [dict get $r -scheme]://www.[dict get $r -host][dict get $r -path]]; dict get $r -content } } //www.shadoura.com/* { code { set r [Http Moved $r [dict get $r -scheme]://shadoura.com[dict get $r -path]]; dict get $r -content } } //BELDISPLAYTECH.com/* { code { set r [Http Moved $r [dict get $r -scheme]://www.beldisplaytech.com[dict get $r -path]]; dict get $r -content } } //wms.shadoura.com/* { code { if {[string match 192.168.11.* [dict get? $r x-forwarded-for]] || [string match *bsuir.by* [dict get? $r via]]} { set w 192.168.11.29 } else { set w [dict get $r -host] } set r [Http Moved $r "[dict get $r -scheme]://$w:8040[dict get $r -path]?ref=http://wms.shadoura.com/&[dict get? $r -query]"] dict get $r -content } } //go.latlon.org/tc/* { code { set r [Http Moved $r [dict get $r -scheme]://latlon.org/tc/]; dict get $r -content } } //go.latlon.org/tt/index.html { code { set r [Http Moved $r [dict get $r -scheme]://go.latlon.org/tt/index-beta.html]; dict get $r -content } } //go.latlon.org/ { domain {File latlon} root /home/www/latlon/public_html stream 1024 } //go.latlon.org/logs/ { domain {Mason logs2} root /home/andrew/logs stream 1024 sortparam {sortList [[2,1]]} dateformat %Y-%m-%d } #package require OSMAPI #package require OAuth #package require OSBTiny //go.latlon.org/api/ { domain {OSMAPI ::osmapi} apiurl http://api.openstreetmap.org/api/ } //go.latlon.org/wms/ { domain {OSMAPI ::wms} apiurl http://192.168.11.29:8040/ } //go.latlon.org/xapi/ { domain {OSMAPI ::osmxapi} apiurl http://xapi.openstreetmap.org/api/ } //go.latlon.org/bugs/ { domain {OSBTiny ::osb} } //www.osmbugs.org/* { code { set q ?[dict get? $r -query] if {$q eq "?"} {set q {}} set r [Http Moved $r [dict get $r -scheme]://osmbugs.org[dict get $r -path]$q] dict get $r -content } } //osmbugs.org/* { code { if {[dict get $r -path] eq "/robots.txt"} { dict set r content-type text/plain set r [Http Ok $r {User-agent: * Disallow: /go/}] } else { set q ?[dict get? $r -query] if {$q eq "?"} {set q {}} set r [Http Moved $r [dict get $r -scheme]://openstreetbugs.schokokeks.org[dict get $r -path]$q] } dict get $r -content } } //osmbugs.org/go/ { domain {OSBTiny ::osb2} } /oauth/ { domain {OAuth ::oa} providers { osm4namegen { requesturi http://www.openstreetmap.org/oauth/request_token authorizeuri http://www.openstreetmap.org/oauth/authorize accessuri http://www.openstreetmap.org/oauth/access_token callback http://namegen.org/oauth/ signmethod HMAC-SHA1 reqmethod POST key <censored, sorry> secret <censored, sorry> authtype entity } google4namegen { requesturi https://www.google.com/accounts/OAuthGetRequestToken authorizeuri https://www.google.com/accounts/OAuthAuthorizeToken accessuri https://www.google.com/accounts/OAuthGetAccessToken key namegen.org secret <censored, sorry> } osm { requesturi http://www.openstreetmap.org/oauth/request_token authorizeuri http://www.openstreetmap.org/oauth/authorize accessuri http://www.openstreetmap.org/oauth/access_token callback http://go.latlon.org/oauth/ signmethod HMAC-SHA1 reqmethod POST key <censored, sorry> secret <censored, sorry> authtype entity } test { signmethod HMAC-SHA1 key <censored, sorry> secret <censored, sorry> }} lambda { dict set r set-cookie "token=[dict get? $result oauth_token]&secret=[dict get? $result oauth_token_secret]; domain=[dict get $r -host]; path=/" set r [Http Redirect $r $referer "token=[dict get? $result oauth_token], secret=[dict get? $result oauth_token_secret], <$r>"] puts <$r> } } //www.namegen.org/* { code{set r [Http Moved $r [dict get $r -scheme]://namegen.org[dict get $r -path]]; dict get $r -content} } //namegen.org/ { domain {Mason ::namegen} root /home/www/namegen/public_html stream 1024 } //namegen.org/test/ { domain {Namegen namegen2} } //namegen.org/test2/ { domain {ExtLogin extlogin} providers {OpenStreetMap {oauth ::oa oauth_mount /oauth/ oauth_provider osm4namegen} LastFM {api_key <censored> secret <censored>}} } //cafemap.info/ { domain{File cafemap-static} root /home/www/cafemap/public_html stream 1024 } //www.cafemap.info/* { code { set r [Http Moved $r [dict get $r -scheme]://cafemap.info[dict get $r -path]]; dict get $r -content } } //xn--cafmap-dva.info/* { code { set r [Http Moved $r [dict get $r -scheme]://cafemap.info[dict get $r -path]]; dict get $r -content } } //www.xn--cafmap-dva.info/* { code { set r [Http Moved $r [dict get $r -scheme]://cafemap.info[dict get $r -path]]; dict get $r -content } } //shadoura.com/ { domain {Mason sha} root /home/andrew/public_html stream 1024 sortparam {sortList [[0,0]]} auth .auth wrapper .wrapper } #package require tiles /tiles/ { domain Direct namespace tiles wildcard * } #package require bdt //static.beldisplaytech.com/ { domain {File bdt} root /home/www/www.beldisplaytech.com/public_html/ stream 1024 } //statiq.beldisplaytech.com/ { domain {File bdtq} root /home/www/www.beldisplaytech.com/public_html/ stream 1024 } //www.beldisplaytech.com/ { domain Direct namespace bdt wildcard * ctype {text/html; charset=utf-8} } / { domain {File varwww} root /var/www stream 1024 } # The /jquery/ domain is handled by the jQ package domain /jquery/ JQ # Useful static content directories # The following File domains, handled by the File package, are all named for their respective # content. So the /css/ domain is handled by an object constructed as [File create css ...] with # constructor args as specified. /icons/ { domain Icons } icorewrite { url {^/[^/]+[.](jpg|gif|png|ico)$} rewrite {/images/[file tail [dict get $r -path]]} }