Set a proper HTTP user-agent header (#9482)

Previously, mattermost-server would always request with the default
user-agent of Go's net/http package that is `Go-http-client/1.1` or
something similar.
This has several disadvantages, one is that the default user-agent
made it pretty hard to distinguish mattermost requests from other
service requests in a network log for example.

Now a user-agent of the form `mattermost-<current-version>` is set in
the client.

- [x] Added or updated unit tests (required for all new features)
This commit is contained in:
Andreas Linz
2018-10-03 19:28:44 +02:00
committed by Christopher Speller
parent 580b546862
commit cf9b9802a8
5 changed files with 46 additions and 9 deletions

View File

@@ -5,7 +5,6 @@ package httpservice
import (
"net"
"net/http"
"strings"
"github.com/mattermost/mattermost-server/services/configservice"
@@ -13,7 +12,7 @@ import (
// Wraps the functionality for creating a new http.Client to encapsulate that and allow it to be mocked when testing
type HTTPService interface {
MakeClient(trustURLs bool) *http.Client
MakeClient(trustURLs bool) *Client
Close()
}
@@ -25,7 +24,7 @@ func MakeHTTPService(configService configservice.ConfigService) HTTPService {
return &HTTPServiceImpl{configService}
}
func (h *HTTPServiceImpl) MakeClient(trustURLs bool) *http.Client {
func (h *HTTPServiceImpl) MakeClient(trustURLs bool) *Client {
insecure := h.configService.Config().ServiceSettings.EnableInsecureOutgoingConnections != nil && *h.configService.Config().ServiceSettings.EnableInsecureOutgoingConnections
if trustURLs {