slack-go / slack

Slack API in Go, originally by @nlopes; Maintainers needed, contact @parsley42
https://pkg.go.dev/github.com/slack-go/slack
BSD 2-Clause "Simplified" License
4.63k stars 1.12k forks source link

Use the default http client instead of creating a new one every time #1178

Closed hussachai closed 1 year ago

hussachai commented 1 year ago

This change is very simple. Just one line. The current behavior of slack.New is that it creates a new http.Client{} every single time, and that's not a good thing because http.Client should be reused. It's true that we can override http.Client by using slack.OptionHTTPClient(). The problem is that the API still creates a new http.Client instance just to be discarded right after. That's a wasteful allocation. This PR is to get rid of that while everything should remain the same.

Pull Request Guidelines

These are recommendations for pull requests. They are strictly guidelines to help manage expectations.

PR preparation

Run make pr-prep from the root of the repository to run formatting, linting and tests.

Should this be an issue instead
API changes

Since API changes have to be maintained they undergo a more detailed review and are more likely to require changes.

Examples of API changes that do not meet guidelines: