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.