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)
+