## What This PR fixes some broken links that have been hanging around in the docs for what seems like a very long time. ## Why As discovered by the link check in #1912, there are a fair few broken links in the docs. Everyone hates broken links because it makes it harder to understand what they were supposed to be pointing at. ## How There are 3 types of links that have been fixed: - Links that should have been internal but were absolute. E.g. `https://docs.getunleash.io/path/article` that should have been `./article.md` - External links that have changed, such as Slack's API description - GitHub links to files that either no longer exist or that have been moved. These links generally pointed to `master`/`main`, meaning they are subject to change. They have been replaced with permalinks pointing to specific commits. ----- * docs: fix slack api doc link * docs: update links in migration guide * docs: fix broken link to ancient feature schema validation * docs: update links to v3 auth hooks * docs: update broken link in the go sdk article * Fix: use permalink for GitHub link * docs: fix wrong google auth link
2.4 KiB
id | title |
---|---|
go_sdk | GO SDK |
You will need your
API URL
and yourAPI token
in order to connect the Client SDK to you Unleash instance. You can find this information in the “Admin” section Unleash management UI. Read more
1. Install unleash-client-go
To install the latest version of the client use:
go get github.com/Unleash/unleash-client-go/v3
If you are still using Unleash Server v2.x.x, then you should use:
go get github.com/Unleash/unleash-client-go
2. Initialize unleash
The easiest way to get started with Unleash is to initialize it early in your application code:
import (
"github.com/Unleash/unleash-client-go/v3"
)
func init() {
unleash.Initialize(
unleash.WithListener(&unleash.DebugListener{}),
unleash.WithAppName("my-application"),
unleash.WithUrl("http://unleash.herokuapp.com/api/"),
unleash.WithCustomHeaders(http.Header{"Authorization": {"<API token>"}}),
)
}
3. Use unleash
After you have initialized the unleash-client you can easily check if a feature toggle is enabled or not.
unleash.IsEnabled("app.ToggleX")
4. Stop unleash
To shut down the client (turn off the polling) you can simply call the destroy-method. This is typically not required.
unleash.Close()
Built in activation strategies
The Go client comes with implementations for the built-in activation strategies provided by unleash.
- DefaultStrategy
- UserIdStrategy
- FlexibleRolloutStrategy
- GradualRolloutUserIdStrategy
- GradualRolloutSessionIdStrategy
- GradualRolloutRandomStrategy
- RemoteAddressStrategy
- ApplicationHostnameStrategy
Read more about the strategies in the activation strategies document.
Unleash context
In order to use some of the common activation strategies you must provide an Unleash context. This client SDK allows you to send in the unleash context as part of the isEnabled
call:
ctx := context.Context{
UserId: "123",
SessionId: "some-session-id",
RemoteAddress: "127.0.0.1",
}
unleash.IsEnabled("someToggle", unleash.WithContext(ctx))
Read more at github.com/Unleash/unleash-client-go