Documentation ¶
Index ¶
Constants ¶
View Source
const ( DefaultIdleTimeout = 120 // 链接最大闲置时间 DefaultDeadline = 3600 // git 的默认执行时间,最长1小时 )
View Source
const ( GitReceivePack = "git-receive-pack" GitUploadPack = "git-upload-pack" GitUploadArchive = "git-upload-archive" ReceivePack = "receive-pack" UploadPack = "upload-pack" UploadArchive = "upload-archive" )
View Source
const BannerMessage = "----- Power by GrowerLab.net -----"
Variables ¶
View Source
var ( VERSION = "1.0" BUILDTIME string BUILDCOMMIT string GOVERSION string UA = "Mensa/" + VERSION + " (Server)" )
Mensa version defined
View Source
var AllowedCommandMap = map[string]string{ GitReceivePack: ReceivePack, GitUploadPack: UploadPack, GitUploadArchive: UploadArchive, }
Functions ¶
Types ¶
type Entryer ¶
type Entryer interface { // 进入前的预备操作 Enter(ctx *common.Context) (result *middleware.HandleResult) }
入口
当用户连接到服务
type GitHttpServer ¶
type GitHttpServer struct {
// contains filtered or unexported fields
}
func NewGitHttpServer ¶
func NewGitHttpServer(cfg *conf.Config) *GitHttpServer
func (*GitHttpServer) ListenAndServe ¶
func (g *GitHttpServer) ListenAndServe(handler MiddlewareHandler) error
type GitSSHServer ¶
type GitSSHServer struct {
// contains filtered or unexported fields
}
func NewGitSSHServer ¶
func NewGitSSHServer(cfg *conf.Config) *GitSSHServer
func (*GitSSHServer) ListenAndServe ¶
func (g *GitSSHServer) ListenAndServe(handler MiddlewareHandler) error
Start server
func (*GitSSHServer) Shutdown ¶
func (g *GitSSHServer) Shutdown() error
Shutdown close all server and wait.
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func (*Manager) RegisterServer ¶
func (*Manager) ServerHandler ¶
func (m *Manager) ServerHandler(ctx *common.Context) *MiddlewareResult
type MiddlewareHandler ¶
type MiddlewareHandler func(ctx *common.Context) *MiddlewareResult
type MiddlewareResult ¶
type Server ¶
type Server interface { // 启动并监听服务 // 当有新的链接时,将调用cb方法 ListenAndServe(MiddlewareHandler) error // 停止服务 Shutdown() error }
Click to show internal directories.
Click to hide internal directories.