1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-25 00:07:47 +01:00

chore: Update Go SDK getting started

This commit is contained in:
Ivar Conradi Østhus 2021-03-09 22:19:03 +01:00 committed by GitHub
parent 0f60fd075a
commit 3fdad485ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,18 +3,85 @@ id: go_sdk
title: GO SDK
---
### 1. Install unleash-client-go
```golang
To install the latest version of the client use:
```bash
go get github.com/Unleash/unleash-client-go/v3
```
If you are still using Unleash Server v2.x.x, then you should use:
```bash
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:
```go
import (
"github.com/Unleash/unleash-client-go/v3"
"github.com/Unleash/unleash-client-go/v3"
)
func init() {
unleash.Initialize(
unleash.WithAppName("my-node-app"),
unleash.WithUrl("<API url>"),
unleash.WithCustomHeaders(http.Header{"Authorization": {"<Client secret>"}}),
)
unleash.Initialize(
unleash.WithListener(&unleash.DebugListener{}),
unleash.WithAppName("my-application"),
unleash.WithUrl("http://unleash.herokuapp.com/api/"),
unleash.WithCustomHeaders(http.Header{"Authorization": {"<Client secret>"}}),
)
}
```
### 3. Use unleash
After you have initialized the unleash-client you can easily check if a feature
toggle is enabled or not.
```go
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 [activation-strategy.md]().
### Unleash context
In order to use some of the common activation strategies you must provide a
[unleash-context](https://github.com/Unleash/unleash/blob/master/docs/unleash-context.md).
This client SDK allows you to send in the unleash context as part of the `isEnabled` call:
```go
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](https://github.com/Unleash/unleash-client-go)