go-git-http
![Build Status](https://travis-ci.org/AaronO/go-git-http.svg)
A Smart Git Http server library in Go (golang)
Example
package main
import (
"log"
"net/http"
"github.com/AaronO/go-git-http"
)
func main() {
git := githttp.New("/Users/aaron/git")
http.Handle("/", git)
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
Authentication example
package main
import (
"log"
"net/http"
"github.com/AaronO/go-git-http"
"github.com/AaronO/go-git-http/auth"
)
func main() {
git := githttp.New("/Users/aaron/git")
authenticator := auth.Authenticator(func(info auth.AuthInfo) (bool, error) {
if info.Push {
return false, nil
}
if info.Username == "admin" && info.Password == "password" {
return true, nil
}
return false, nil
})
http.Handle("/", authenticator(git))
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}