Use different user-agent for twitter links (#16210)

This commit is contained in:
Ben Schumacher
2020-11-17 14:48:51 +01:00
committed by GitHub
parent eced0cdb72
commit 4063f407a1
3 changed files with 9 additions and 3 deletions
+6
View File
@@ -410,6 +410,12 @@ func (a *App) getLinkMetadata(requestURL string, timestamp int64, isNewPost bool
client := a.HTTPService().MakeClient(false)
client.Timeout = time.Duration(*a.Config().ExperimentalSettings.LinkMetadataTimeoutMilliseconds) * time.Millisecond
mmTransport := a.HTTPService().MakeTransport(false)
client.Transport = mmTransport.Transport
if strings.HasPrefix(requestURL, "https://twitter.com/") || strings.HasPrefix(requestURL, "https://mobile.twitter.com/") {
request.Header.Add("User-Agent", "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)")
}
var res *http.Response
res, err = client.Do(request)
+1 -1
View File
@@ -136,7 +136,7 @@ func dialContextFilter(dial DialContextFunction, allowHost func(host string) boo
}
}
func NewTransport(enableInsecureConnections bool, allowHost func(host string) bool, allowIP func(ip net.IP) bool) http.RoundTripper {
func NewTransport(enableInsecureConnections bool, allowHost func(host string) bool, allowIP func(ip net.IP) bool) *MattermostTransport {
dialContext := (&net.Dialer{
Timeout: ConnectTimeout,
KeepAlive: 30 * time.Second,
+2 -2
View File
@@ -25,7 +25,7 @@ type HTTPService interface {
// - A timeout for end-to-end requests
// - A Mattermost-specific user agent header
// - Additional security for untrusted and insecure connections
MakeTransport(trustURLs bool) http.RoundTripper
MakeTransport(trustURLs bool) *MattermostTransport
}
type HTTPServiceImpl struct {
@@ -52,7 +52,7 @@ func (h *HTTPServiceImpl) MakeClient(trustURLs bool) *http.Client {
}
}
func (h *HTTPServiceImpl) MakeTransport(trustURLs bool) http.RoundTripper {
func (h *HTTPServiceImpl) MakeTransport(trustURLs bool) *MattermostTransport {
insecure := h.configService.Config().ServiceSettings.EnableInsecureOutgoingConnections != nil && *h.configService.Config().ServiceSettings.EnableInsecureOutgoingConnections
if trustURLs {