代码拉取完成,页面将自动刷新
// TODO: check user agent only contains *git* can access info/refs|git-upload-pack|git-receive-pack
// TODO: git protocol version 2 support
// TODO: gzip support
package main
import (
"fmt"
"net/http"
)
func operationIsForbidden(w *http.ResponseWriter, service string) (b bool) {
if service != "git-upload-pack" && service != "git-receive-pack" {
statusCodeWithMessage(w, 403, "Operation not permitted")
return true
}
return false
}
func statusCodeWithMessage(w *http.ResponseWriter, code int, message string) {
(*w).WriteHeader(code)
_, _ = (*w).Write([]byte(message))
}
func handleRefsHeader(w *http.ResponseWriter, service string) {
cType := fmt.Sprintf("application/x-%s-advertisement", service)
(*w).Header().Add("Content-Type", cType)
(*w).Header().Set("Expires", "Fri, 01 Jan 1980 00:00:00 GMT")
(*w).Header().Set("Pragma", "no-cache")
(*w).Header().Set("Cache-Control", "no-cache, max-age=0, must-revalidate")
}
func handlePackHeader(w *http.ResponseWriter, service string) {
(*w).Header().Set("Content-Type", fmt.Sprintf("application/x-%s-result", service))
(*w).Header().Set("Connection", "Keep-Alive")
(*w).Header().Set("Transfer-Encoding", "chunked")
(*w).Header().Set("X-Content-Type-Options", "nosniff")
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。