Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

Jump to content

Module:Sandbox/Johnuniq/ip

From Wikipedia, the free encyclopedia
-- Try catching error from [[Module:IP]] from merge proposal at
-- Wikipedia:Templates_for_discussion/Log/2018_June_19#Module:IP
-- See results on talk page.

local IP = require('Module:IP')
local IPAddress = IP.IPAddress

local function main(frame)
	local results = {}
	for i, ipstr in ipairs({
		'',
		'junk',
		'1.2.3.255',
		'1.2.3.256',
		'1:2:3:4:1FFF:ffff:ffff:ffff',
		'1:2:3:4:1800::',
		'0.0.0.0',
		'0:0:0:0:0:0:0:0',
		'1::ffff:ffff',
		'1::fffff:ffff',
		'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff'
	}) do
		local success, ip = pcall(IPAddress.new, ipstr)
		table.insert(results,
				'*"' .. ipstr .. '" is ' ..
				(success and (ip:isIPv4() and 'IPv4' or 'IPv6') or 'invalid')
			)
	end
	return table.concat(results, '\n')
end

return { main = main }