Skip to content

Commit 9527369

Browse files
committed
Use consistent server User-Agent across application
1 parent dfa14c9 commit 9527369

8 files changed

+23
-13
lines changed

activitypub.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ func makeActivityPost(hostName string, p *activitystreams.Person, url string, m
494494

495495
r, _ := http.NewRequest("POST", url, bytes.NewBuffer(b))
496496
r.Header.Add("Content-Type", "application/activity+json")
497-
r.Header.Set("User-Agent", "Go ("+serverSoftware+"/"+softwareVer+"; +"+hostName+")")
497+
r.Header.Set("User-Agent", ServerUserAgent(hostName))
498498
h := sha256.New()
499499
h.Write(b)
500500
r.Header.Add("Digest", "SHA-256="+base64.StdEncoding.EncodeToString(h.Sum(nil)))
@@ -544,7 +544,7 @@ func resolveIRI(hostName, url string) ([]byte, error) {
544544

545545
r, _ := http.NewRequest("GET", url, nil)
546546
r.Header.Add("Accept", "application/activity+json")
547-
r.Header.Set("User-Agent", "Go ("+serverSoftware+"/"+softwareVer+"; +"+hostName+")")
547+
r.Header.Set("User-Agent", ServerUserAgent(hostName))
548548

549549
if debugging {
550550
dump, err := httputil.DumpRequestOut(r, true)

app.go

+10
Original file line numberDiff line numberDiff line change
@@ -903,3 +903,13 @@ func adminInitDatabase(app *App) error {
903903
log.Info("Done.")
904904
return nil
905905
}
906+
907+
// ServerUserAgent returns a User-Agent string to use in external requests. The
908+
// hostName parameter may be left empty.
909+
func ServerUserAgent(hostName string) string {
910+
hostUAStr := ""
911+
if hostName != "" {
912+
hostUAStr = "; +" + hostName
913+
}
914+
return "Go (" + serverSoftware + "/" + softwareVer + hostUAStr + ")"
915+
}

oauth.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ func (r *callbackProxyClient) register(ctx context.Context, state string) error
408408
if err != nil {
409409
return err
410410
}
411-
req.Header.Set("User-Agent", "writefreely")
411+
req.Header.Set("User-Agent", ServerUserAgent(""))
412412
req.Header.Set("Accept", "application/json")
413413
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
414414

oauth_generic.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (c genericOauthClient) exchangeOauthCode(ctx context.Context, code string)
6262
return nil, err
6363
}
6464
req.WithContext(ctx)
65-
req.Header.Set("User-Agent", "writefreely")
65+
req.Header.Set("User-Agent", ServerUserAgent(""))
6666
req.Header.Set("Accept", "application/json")
6767
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
6868
req.SetBasicAuth(c.ClientID, c.ClientSecret)
@@ -91,7 +91,7 @@ func (c genericOauthClient) inspectOauthAccessToken(ctx context.Context, accessT
9191
return nil, err
9292
}
9393
req.WithContext(ctx)
94-
req.Header.Set("User-Agent", "writefreely")
94+
req.Header.Set("User-Agent", ServerUserAgent(""))
9595
req.Header.Set("Accept", "application/json")
9696
req.Header.Set("Authorization", "Bearer "+accessToken)
9797

oauth_gitea.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (c giteaOauthClient) exchangeOauthCode(ctx context.Context, code string) (*
6262
return nil, err
6363
}
6464
req.WithContext(ctx)
65-
req.Header.Set("User-Agent", "writefreely")
65+
req.Header.Set("User-Agent", ServerUserAgent(""))
6666
req.Header.Set("Accept", "application/json")
6767
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
6868
req.SetBasicAuth(c.ClientID, c.ClientSecret)
@@ -91,7 +91,7 @@ func (c giteaOauthClient) inspectOauthAccessToken(ctx context.Context, accessTok
9191
return nil, err
9292
}
9393
req.WithContext(ctx)
94-
req.Header.Set("User-Agent", "writefreely")
94+
req.Header.Set("User-Agent", ServerUserAgent(""))
9595
req.Header.Set("Accept", "application/json")
9696
req.Header.Set("Authorization", "Bearer "+accessToken)
9797

oauth_gitlab.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func (c gitlabOauthClient) exchangeOauthCode(ctx context.Context, code string) (
6363
return nil, err
6464
}
6565
req.WithContext(ctx)
66-
req.Header.Set("User-Agent", "writefreely")
66+
req.Header.Set("User-Agent", ServerUserAgent(""))
6767
req.Header.Set("Accept", "application/json")
6868
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
6969
req.SetBasicAuth(c.ClientID, c.ClientSecret)
@@ -92,7 +92,7 @@ func (c gitlabOauthClient) inspectOauthAccessToken(ctx context.Context, accessTo
9292
return nil, err
9393
}
9494
req.WithContext(ctx)
95-
req.Header.Set("User-Agent", "writefreely")
95+
req.Header.Set("User-Agent", ServerUserAgent(""))
9696
req.Header.Set("Accept", "application/json")
9797
req.Header.Set("Authorization", "Bearer "+accessToken)
9898

oauth_slack.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ func (c slackOauthClient) exchangeOauthCode(ctx context.Context, code string) (*
111111
return nil, err
112112
}
113113
req.WithContext(ctx)
114-
req.Header.Set("User-Agent", "writefreely")
114+
req.Header.Set("User-Agent", ServerUserAgent(""))
115115
req.Header.Set("Accept", "application/json")
116116
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
117117
req.SetBasicAuth(c.ClientID, c.ClientSecret)
@@ -140,7 +140,7 @@ func (c slackOauthClient) inspectOauthAccessToken(ctx context.Context, accessTok
140140
return nil, err
141141
}
142142
req.WithContext(ctx)
143-
req.Header.Set("User-Agent", "writefreely")
143+
req.Header.Set("User-Agent", ServerUserAgent(""))
144144
req.Header.Set("Accept", "application/json")
145145
req.Header.Set("Authorization", "Bearer "+accessToken)
146146

oauth_writeas.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (c writeAsOauthClient) exchangeOauthCode(ctx context.Context, code string)
6262
return nil, err
6363
}
6464
req.WithContext(ctx)
65-
req.Header.Set("User-Agent", "writefreely")
65+
req.Header.Set("User-Agent", ServerUserAgent(""))
6666
req.Header.Set("Accept", "application/json")
6767
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
6868
req.SetBasicAuth(c.ClientID, c.ClientSecret)
@@ -91,7 +91,7 @@ func (c writeAsOauthClient) inspectOauthAccessToken(ctx context.Context, accessT
9191
return nil, err
9292
}
9393
req.WithContext(ctx)
94-
req.Header.Set("User-Agent", "writefreely")
94+
req.Header.Set("User-Agent", ServerUserAgent(""))
9595
req.Header.Set("Accept", "application/json")
9696
req.Header.Set("Authorization", "Bearer "+accessToken)
9797

0 commit comments

Comments
 (0)