diff --git a/app/app.go b/app/app.go index ed2e250..0b45498 100644 --- a/app/app.go +++ b/app/app.go @@ -53,6 +53,8 @@ type Options struct { Preferences map[string]interface{} `hcl:"preferences"` } +var Version = "0.0.10" + var DefaultOptions = Options{ Address: "", Port: "8080", @@ -154,6 +156,8 @@ func (app *App) Run() error { siteHandler = wrapBasicAuth(siteHandler, app.options.Credential) } + siteHandler = wrapHeaders(siteHandler) + wsMux := http.NewServeMux() wsMux.Handle("/", siteHandler) wsMux.Handle(path+"/ws", wsHandler) @@ -277,6 +281,13 @@ func wrapLogger(handler http.Handler) http.Handler { }) } +func wrapHeaders(handler http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.Header().Set("Server", "GoTTY/"+Version) + handler.ServeHTTP(w, r) + }) +} + func wrapBasicAuth(handler http.Handler, credential string) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { token := strings.SplitN(r.Header.Get("Authorization"), " ", 2) diff --git a/main.go b/main.go index 7a619f6..2129ac7 100644 --- a/main.go +++ b/main.go @@ -13,7 +13,7 @@ import ( func main() { cmd := cli.NewApp() - cmd.Version = "0.0.10" + cmd.Version = app.Version cmd.Name = "gotty" cmd.Usage = "Share your terminal as a web application" cmd.HideHelp = true