package gitadapters import ( "fmt" "io" "net/http" ) type BitbucketAdapter struct { baseHTTP } func NewBitbucket(baseURL string, bearerToken string) *BitbucketAdapter { return &BitbucketAdapter{ baseHTTP{ baseURL: baseURL, bearerToken: bearerToken, }, } } func (b *BitbucketAdapter) GetDiff(projectKey, repositorySlug string, pullRequestID int) (diff io.Reader, err error) { r, err := b.createRequest( http.MethodGet, nil, "/rest/api/1.0/projects/", projectKey, "repos", repositorySlug, "pull-requests", fmt.Sprintf("%d.diff", pullRequestID), ) if err != nil { return } response, err := http.DefaultClient.Do(r) if err != nil { return } diff = response.Body return }