type svnHandler … type svnState … func (h *svnHandler) Available() bool { … } // Handler returns an http.Handler that checks for the "vcwebsvn" query // parameter and then serves the 'svn://' URL for the repository at the // requested path. // The HTTP client is expected to read that URL and pass it to the 'svn' client. func (h *svnHandler) Handler(dir string, env []string, logger *log.Logger) (http.Handler, error) { … } // serve serves a single 'svn://' connection on c. func (h *svnHandler) serve(c net.Conn) { … } // Close stops accepting new svn:// connections and terminates the existing // ones, then waits for the 'svnserve' subprocesses to complete. func (h *svnHandler) Close() error { … }