test extract repo name
diff --git a/examples/lua/test_repo_name_extract.lua b/examples/lua/test_repo_name_extract.lua
new file mode 100644
index 0000000..86b63cd
--- /dev/null
+++ b/examples/lua/test_repo_name_extract.lua
@@ -0,0 +1,49 @@
+
+function mysplit(inputstr, sep)
+ if sep == nil then
+ sep = "%s"
+ end
+ local t = {}
+ for str in inputstr:gmatch("([^"..sep.."]+)") do
+ table.insert(t, str)
+ end
+ return t
+end
+
+core.register_action("set_repo_name", { "http-req" }, function(txn)
+ local requestPath = txn.sf:path()
+ local pp = mysplit(requestPath, "/")
+ local queryString = txn.sf:query()
+ local has_srv = string.find(queryString, "service=git-")
+ local git = has_srv ~= nil
+ local e = has_srv ~= nil and #pp-2 or #pp-1
+ if pp[#pp] == "git-upload-pack" or pp[#pp] == "git-recieve-pack" then
+ git = true
+ end
+ local s = 1
+ if pp[1] == 'a' or pp[1] == 'p' then
+ s = 2
+ end
+ local repo = ""
+ if git then
+ for k = s, e, 1 do
+ repo = repo.."/"..pp[k]
+ end
+ else
+ if pp[s] == "changes" or pp[s] == "projects" then
+ repo = "/"..pp[s+1]
+ core.Info(repo)
+ local sep = string.find(repo, "~")
+ if sep ~= nil then
+ repo = string.sub(repo, 1, sep - 1)
+ end
+ repo = repo:gsub("%%2F", "/")
+ repo = repo:gsub("%%2f", "/")
+ end
+ end
+ if repo == "" then
+ repo = requestPath
+ end
+ txn.http:req_set_header("Gerrit-Project", repo)
+ end)
+