github.com/vnforks/kid/v5@v5.22.1-0.20200408055009-b89d99c65676/services/httpservice/transport.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package httpservice 5 6 import ( 7 "net/http" 8 ) 9 10 // MattermostTransport is an implementation of http.RoundTripper that ensures each request contains a custom user agent 11 // string to indicate that the request is coming from a Mattermost instance. 12 type MattermostTransport struct { 13 // Transport is the underlying http.RoundTripper that is actually used to make the request 14 Transport http.RoundTripper 15 } 16 17 func (t *MattermostTransport) RoundTrip(req *http.Request) (*http.Response, error) { 18 req.Header.Set("User-Agent", defaultUserAgent) 19 20 return t.Transport.RoundTrip(req) 21 }