From f75cc9771a5965647c6e58e6ba83d428faf034ad Mon Sep 17 00:00:00 2001 From: Manfred Touron Date: Fri, 2 Oct 2015 10:01:37 +0200 Subject: [PATCH] Add 'Server' HTTP header with current GoTTY version $ curl -I http://gotty.server/ HTTP/1.1 200 OK Accept-Ranges: bytes Content-Length: 407 Content-Type: text/html; charset=utf-8 Last-Modified: Fri, 02 Oct 2015 08:04:28 GMT Server: GoTTY/0.0.10 Date: Fri, 02 Oct 2015 08:04:28 GMT --- app/app.go | 11 +++++++++++ main.go | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) 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