Monday, November 08, 2010 at 12:06 AM.
system.verbs.builtins.webserver.standardMacros.ipFilter
on ipFilter (clientIp, matchString, returnString) {
if matchString beginsWith "!" {
matchstring = string.popleading (matchstring, "!");
if not (clientIp beginsWith matchString) {
return (returnString)}}
else {
if clientIp beginsWith matchString {
return (returnString)}};
return ("")}; << return empty string if condition is not met.
<<bundle <<test code
<<dialog.notify (ipFilter ("198.148.149.12", "198", "Hello1"))
<<dialog.notify (ipFilter ("198.148.149.12", "198.148", "Hello2"))
<<dialog.notify (ipFilter ("198.148.149.12", "198.148.149", "Hello3"))
<<dialog.notify (ipFilter ("198.148.149.12", "198.148.149.12", "Hello4"))
<<dialog.notify (ipFilter ("198.148.149.12", "198.148.150.12", "Hello5"))
<<dialog.notify (ipFilter ("198.148.149.12", "!198.148.150.12", "Hello6"))
<<dialog.notify (ipFilter ("198.148.149.12", "!198.148.149.12", "Hello7"))
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.