Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.radio.webServer.wsfMasterControl
on wsfMasterControl (pta) {
<<Changes
<<12/18/01; 9:01:28 AM by DW
<<Respect user.radio.prefs.flLegacyUrlRedirects.
<<12/15/01; 8:52:33 AM by DW
<<Where do you want to go today?
<<Called from webserver.responders.websiteFramework.methods.any
<<We're doing something nice for 7.0.1 users with bookmarks pointing to pages in the 7.0.1 desktop website -- we're redirecting to their new locations in 7.1. This was a major dealstopper braincell burner for a few of our beta-testers. Why make them learn new urls when no one pays attention to them anyway?
if user.radio.prefs.flLegacyUrlRedirects { //redirect URLs that worked in 7.0.1
local (path = string.urlDecode (pta^.path));
local (adrlegacy = @radio.data.legacyRedirects.[path]);
if defined (adrlegacy^) { //let's make it work!
local (url = radio.data.systemUrls.[adrlegacy^]);
pta^.code = 302; //non-permanent redirect
pta^.responseBody = webserver.util.buildErrorPage ("302 FOUND", "Found the page.");
pta^.responseHeaders.location = url;
pta^.responseHeaders.URI = url;
try {delete (@pta^.responseHeaders.["Content-Type"])};
return (true)}}; //we've handled it, thanks for listening
return (false)} //you handle it, old dude
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.