examples/lua-example.lua
author Mahlon E. Smith <mahlon@martini.nu>
Wed, 25 May 2016 11:02:25 -0700
changeset 36 abd2aa4aaca8
parent 33 ba41bfbe87a2
permissions -rw-r--r--
Allow URI-escaped high ascii in hostname and rule parsing. Reported by Alexander Drebushkoa.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     1
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     2
-- examine the request.
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     3
-- this emits to stderr!
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     4
--
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     5
for k,v in pairs( request ) do print( string.format("request.%-6s --> %s", k, v) ) end
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     6
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     7
-- all variables need to be declared using local scoping!
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     8
--
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
     9
local redir = 302
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    10
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    11
-- temporary redirect to a different site, every other second.
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    12
-- why would you want to do this?  you probably wouldn't.  just illustrating
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    13
-- how easy it is to do custom stuff.
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    14
--
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    15
if os.time() % 2 == 0 then
33
ba41bfbe87a2 Updates to support the newer Squid rewrite syntax.
Mahlon E. Smith <mahlon@martini.nu>
parents: 22
diff changeset
    16
	return string.format( "OK status=%d url=http://example.com%s", redir, request.path )
22
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    17
end
822094314703 Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff changeset
    18