From d6f4d196c978d81041ea99a32e2d6f63b0639472 Mon Sep 17 00:00:00 2001 From: Daniele Sluijters Date: Sat, 26 Nov 2022 21:15:19 +0100 Subject: [PATCH] Tweak the User-Agent a bit (#1153) * [bugfix] Use AccountDomain for user agent By using the account domain we can pinpoint the source of the request more accurately when looking at the User-Agent header. * [chore] Align user-agent header with spec Based on RFC 7231, our User-Agent header doesn't quite match. It seems to always want Name [/ Version] pairs, with comments in parenthesis and multiple comments separated by a semicolon. Align our UA with that, using application name first by itself in case someone has customised it with the source instance in a comment. Follow that up with gotosocial/ and a comment pointing at the source code. This also drops the mention of gofed/activity since a fork is in use. --- internal/transport/controller.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/transport/controller.go b/internal/transport/controller.go index e7a07016f..f5cb7a829 100644 --- a/internal/transport/controller.go +++ b/internal/transport/controller.go @@ -59,7 +59,8 @@ type controller struct { // NewController returns an implementation of the Controller interface for creating new transports func NewController(db db.DB, federatingDB federatingdb.DB, clock pub.Clock, client pub.HttpClient) Controller { applicationName := config.GetApplicationName() - host := config.GetHost() + host := config.GetAccountDomain() + proto := config.GetProtocol() version := config.GetSoftwareVersion() c := &controller{ @@ -69,7 +70,7 @@ func NewController(db db.DB, federatingDB federatingdb.DB, clock pub.Clock, clie client: client, trspCache: cache.New[string, *transport](0, 100, 0), badHosts: cache.New[string, struct{}](0, 1000, 0), - userAgent: fmt.Sprintf("%s; %s (gofed/activity gotosocial-%s)", applicationName, host, version), + userAgent: fmt.Sprintf("%s (+%s://%s) gotosocial/%s", applicationName, proto, host, version), } // Transport cache has TTL=1hr freq=1min