Saturday, April 02, 2011 at 9:20 PM.
rssCloudSuite.notifyOneChallenge
on notifyOneChallenge (adrsubscription) {
<<Changes
<<10/2/09; 11:27:52 AM by DW
<<Created. A special call that verifies a handler per Joseph Scott's proposal.
local (adrdata = rssCloudSuite.init (), startticks = clock.ticks (), flerror = false);
local (server = nameof (adrsubscription^), feedurl = nameof (parentof (adrsubscription^)^));
rssCloudSuite.initSubscription (adrsubscription);
local (adrsubscriber = @adrdata^.subscribers.[server]);
try {
local (challenge = string.getrandompassword (20), s, code);
local (testurl = server + "?url=" + string.urlencode (feedurl, true) + "&challenge=" + challenge);
bundle { //make the request
local (urllist);
try {
urllist = string.urlsplit (testurl)}
else {
urllist = string.urlsplit (testurl + "/")};
s = tcp.httpClient (server:urllist [2], path:urllist [3], ctFollowRedirects:3, flMessages:false);
code = number (tcp.httpGetStatusCode (s));
s = string.httpresultsplit (s)};
if (code >= 200) and (code <= 299) {
scratchpad.challengeResponse = s;
return (s == challenge)}};
return (false)};
bundle { //test code
dialog.alert (notifyOneChallenge (@config.rssCloud.subscriptions.["http://badhair.us/rss.xml"].["http://75.37.83.21:5337/river2/notify"]))}
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.