Skip to content

Commit 9d9f844

Browse files
chore: update sdk readmes
Signed-off-by: OpenFeature Bot <[email protected]>
1 parent ec21259 commit 9d9f844

File tree

14 files changed

+105
-35
lines changed

14 files changed

+105
-35
lines changed

docs/reference/technologies/client/kotlin.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from kotlin-sdk.
1010
Edits should be made here: https://github.com/open-feature/kotlin-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:04 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">

docs/reference/technologies/client/swift.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from swift-sdk.
1010
Edits should be made here: https://github.com/open-feature/swift-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:05 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">

docs/reference/technologies/client/web/angular.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
1010
Edits should be made here: https://github.com/open-feature/js-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:05 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">

docs/reference/technologies/client/web/index.mdx

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
1010
Edits should be made here: https://github.com/open-feature/js-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:04 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">
@@ -72,7 +72,11 @@ yarn add @openfeature/web-sdk @openfeature/core
7272
import { OpenFeature } from '@openfeature/web-sdk';
7373

7474
// Register your feature flag provider
75-
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
75+
try {
76+
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
77+
} catch (error) {
78+
console.error('Failed to initialize provider:', error);
79+
}
7680

7781
// create a new client
7882
const client = OpenFeature.getClient();
@@ -118,7 +122,11 @@ Once you've added a provider as a dependency, it can be registered with OpenFeat
118122
To register a provider and ensure it is ready before further actions are taken, you can use the `setProviderAndWait` method as shown below:
119123

120124
```ts
121-
await OpenFeature.setProviderAndWait(new MyProvider());
125+
try {
126+
await OpenFeature.setProviderAndWait(new MyProvider());
127+
} catch (error) {
128+
console.error('Failed to initialize provider:', error);
129+
}
122130
```
123131

124132
#### Synchronous

docs/reference/technologies/client/web/react.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
1010
Edits should be made here: https://github.com/open-feature/js-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:04 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">

docs/reference/technologies/server/dotnet.mdx

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ This content has been automatically generated from dotnet-sdk.
1010
Edits should be made here: https://github.com/open-feature/dotnet-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:39 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:03 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

16-
[![Specification](https://img.shields.io/static/v1?label=specification&message=v0.7.0&color=yellow&style=for-the-badge)](https://github.com/open-feature/spec/releases/tag/v0.7.0)
16+
[![Specification](https://img.shields.io/static/v1?label=specification&message=v0.8.0&color=yellow&style=for-the-badge)](https://github.com/open-feature/spec/releases/tag/v0.8.0)
1717
[
18-
![Release](https://img.shields.io/static/v1?label=release&message=v2.4.0&color=blue&style=for-the-badge)
19-
](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.4.0)
18+
![Release](https://img.shields.io/static/v1?label=release&message=v2.5.0&color=blue&style=for-the-badge)
19+
](https://github.com/open-feature/dotnet-sdk/releases/tag/v2.5.0)
2020

2121
[![Slack](https://img.shields.io/badge/slack-%40cncf%2Fopenfeature-brightgreen?style=flat&logo=slack)](https://cloud-native.slack.com/archives/C0344AANLA1)
2222
[![Codecov](https://codecov.io/gh/open-feature/dotnet-sdk/branch/main/graph/badge.svg?token=MONAVJBXUJ)](https://codecov.io/gh/open-feature/dotnet-sdk)
@@ -52,7 +52,14 @@ dotnet add package OpenFeature
5252
public async Task Example()
5353
{
5454
// Register your feature flag provider
55-
await Api.Instance.SetProviderAsync(new InMemoryProvider());
55+
try
56+
{
57+
await Api.Instance.SetProviderAsync(new InMemoryProvider());
58+
}
59+
catch (Exception ex)
60+
{
61+
// Log error
62+
}
5663

5764
// Create a new client
5865
FeatureClient client = Api.Instance.GetClient();
@@ -62,7 +69,7 @@ public async Task Example()
6269

6370
if ( v2Enabled )
6471
{
65-
//Do some work
72+
// Do some work
6673
}
6774
}
6875
```
@@ -95,9 +102,18 @@ If the provider you're looking for hasn't been created yet, see the [develop a p
95102
Once you've added a provider as a dependency, it can be registered with OpenFeature like this:
96103

97104
```csharp
98-
await Api.Instance.SetProviderAsync(new MyProvider());
105+
try
106+
{
107+
await Api.Instance.SetProviderAsync(new MyProvider());
108+
}
109+
catch (Exception ex)
110+
{
111+
// Log error
112+
}
99113
```
100114

115+
When calling `SetProviderAsync` an exception may be thrown if the provider cannot be initialized. This may occur if the provider has not been configured correctly. See the documentation for the provider you are using for more information on how to configure the provider correctly.
116+
101117
In some situations, it may be beneficial to register multiple providers in the same application.
102118
This is possible using [domains](#domains), which is covered in more detail below.
103119

@@ -176,11 +192,18 @@ A domain is a logical identifier which can be used to associate clients with a p
176192
If a domain has no associated provider, the default provider is used.
177193

178194
```csharp
179-
// registering the default provider
180-
await Api.Instance.SetProviderAsync(new LocalProvider());
195+
try
196+
{
197+
// registering the default provider
198+
await Api.Instance.SetProviderAsync(new LocalProvider());
181199

182-
// registering a provider to a domain
183-
await Api.Instance.SetProviderAsync("clientForCache", new CachedProvider());
200+
// registering a provider to a domain
201+
await Api.Instance.SetProviderAsync("clientForCache", new CachedProvider());
202+
}
203+
catch (Exception ex)
204+
{
205+
// Log error
206+
}
184207

185208
// a client backed by default provider
186209
FeatureClient clientDefault = Api.Instance.GetClient();
@@ -223,8 +246,15 @@ EventHandlerDelegate callback = EventHandler;
223246

224247
var myClient = Api.Instance.GetClient("my-client");
225248

226-
var provider = new ExampleProvider();
227-
await Api.Instance.SetProviderAsync(myClient.GetMetadata().Name, provider);
249+
try
250+
{
251+
var provider = new ExampleProvider();
252+
await Api.Instance.SetProviderAsync(myClient.GetMetadata().Name, provider);
253+
}
254+
catch (Exception ex)
255+
{
256+
// Log error
257+
}
228258

229259
myClient.AddHandler(ProviderEventTypes.ProviderReady, callback);
230260
```

docs/reference/technologies/server/go.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This content has been automatically generated from go-sdk.
99
Edits should be made here: https://github.com/open-feature/go-sdk
1010
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1111

12-
Last updated at Wed Apr 23 2025 08:10:39 GMT+0000 (Coordinated Universal Time)
12+
Last updated at Thu May 01 2025 08:10:03 GMT+0000 (Coordinated Universal Time)
1313
-->
1414

1515
<p align="center" class="github-badges">

docs/reference/technologies/server/java.mdx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This content has been automatically generated from java-sdk.
99
Edits should be made here: https://github.com/open-feature/java-sdk
1010
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1111

12-
Last updated at Wed Apr 23 2025 08:10:38 GMT+0000 (Coordinated Universal Time)
12+
Last updated at Thu May 01 2025 08:10:03 GMT+0000 (Coordinated Universal Time)
1313
-->
1414

1515
<p align="center" class="github-badges">
@@ -96,7 +96,12 @@ public void example(){
9696

9797
// configure a provider
9898
OpenFeatureAPI api = OpenFeatureAPI.getInstance();
99-
api.setProviderAndWait(new InMemoryProvider(myFlags));
99+
try {
100+
api.setProviderAndWait(new InMemoryProvider(myFlags));
101+
} catch (Exception e) {
102+
// handle initialization failure
103+
e.printStackTrace();
104+
}
100105

101106
// create a client
102107
Client client = api.getClient();
@@ -141,7 +146,12 @@ To register a provider in a blocking manner to ensure it is ready before further
141146

142147
```java
143148
OpenFeatureAPI api = OpenFeatureAPI.getInstance();
144-
api.setProviderAndWait(new MyProvider());
149+
try {
150+
api.setProviderAndWait(new MyProvider());
151+
} catch (Exception e) {
152+
// handle initialization failure
153+
e.printStackTrace();
154+
}
145155
```
146156

147157
#### Asynchronous

docs/reference/technologies/server/javascript/index.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
1010
Edits should be made here: https://github.com/open-feature/js-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:38 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:03 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">
@@ -72,7 +72,11 @@ yarn add @openfeature/server-sdk @openfeature/core
7272
import { OpenFeature } from '@openfeature/server-sdk';
7373

7474
// Register your feature flag provider
75-
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
75+
try {
76+
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
77+
} catch (error) {
78+
console.error('Failed to initialize provider:', error);
79+
}
7680

7781
// create a new client
7882
const client = OpenFeature.getClient();

docs/reference/technologies/server/javascript/nestjs.mdx

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from js-sdk.
1010
Edits should be made here: https://github.com/open-feature/js-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:39 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:03 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">
@@ -69,10 +69,10 @@ yarn add @openfeature/nestjs-sdk @openfeature/server-sdk @openfeature/core
6969

7070
The following list contains the peer dependencies of `@openfeature/nestjs-sdk` with its expected and compatible versions:
7171

72-
* `@openfeature/server-sdk`: >=1.7.5
73-
* `@nestjs/common`: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
74-
* `@nestjs/core`: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
75-
* `rxjs`: ^6.0.0 || ^7.0.0 || ^8.0.0
72+
- `@openfeature/server-sdk`: >=1.7.5
73+
- `@nestjs/common`: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
74+
- `@nestjs/core`: ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
75+
- `rxjs`: ^6.0.0 || ^7.0.0 || ^8.0.0
7676

7777
The minimum required version of `@openfeature/server-sdk` currently is `1.7.5`.
7878

@@ -149,6 +149,24 @@ export class OpenFeatureTestService {
149149
}
150150
```
151151

152+
#### Managing Controller or Route Access via Feature Flags
153+
154+
The `RequireFlagsEnabled` decorator can be used to manage access to a controller or route based on the enabled state of a feature flag. The decorator will throw an exception if the required feature flag(s) are not enabled.
155+
156+
```ts
157+
import { Controller, Get } from '@nestjs/common';
158+
import { RequireFlagsEnabled } from '@openfeature/nestjs-sdk';
159+
160+
@Controller()
161+
export class OpenFeatureController {
162+
@RequireFlagsEnabled({ flags: [{ flagKey: 'testBooleanFlag' }] })
163+
@Get('/welcome')
164+
public async welcome() {
165+
return 'Welcome to this OpenFeature-enabled NestJS app!';
166+
}
167+
}
168+
```
169+
152170
## Module additional information
153171

154172
### Flag evaluation context injection

docs/reference/technologies/server/php.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This content has been automatically generated from php-sdk.
99
Edits should be made here: https://github.com/open-feature/php-sdk
1010
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1111

12-
Last updated at Wed Apr 23 2025 08:10:39 GMT+0000 (Coordinated Universal Time)
12+
Last updated at Thu May 01 2025 08:10:04 GMT+0000 (Coordinated Universal Time)
1313
-->
1414

1515
<p align="center" class="github-badges">

docs/reference/technologies/server/python.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This content has been automatically generated from python-sdk.
99
Edits should be made here: https://github.com/open-feature/python-sdk
1010
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1111

12-
Last updated at Wed Apr 23 2025 08:10:39 GMT+0000 (Coordinated Universal Time)
12+
Last updated at Thu May 01 2025 08:10:04 GMT+0000 (Coordinated Universal Time)
1313
-->
1414

1515
<p align="center" class="github-badges">

docs/reference/technologies/server/ruby.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This content has been automatically generated from ruby-sdk.
1010
Edits should be made here: https://github.com/open-feature/ruby-sdk
1111
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1212

13-
Last updated at Wed Apr 23 2025 08:10:40 GMT+0000 (Coordinated Universal Time)
13+
Last updated at Thu May 01 2025 08:10:05 GMT+0000 (Coordinated Universal Time)
1414
-->
1515

1616
<p align="center" class="github-badges">

docs/reference/technologies/server/rust.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ This content has been automatically generated from rust-sdk.
99
Edits should be made here: https://github.com/open-feature/rust-sdk
1010
Once a repo has been updated, docs can be generated by running: yarn update:sdk-docs
1111

12-
Last updated at Wed Apr 23 2025 08:10:41 GMT+0000 (Coordinated Universal Time)
12+
Last updated at Thu May 01 2025 08:10:05 GMT+0000 (Coordinated Universal Time)
1313
-->
1414

1515
<p align="center" class="github-badges">

0 commit comments

Comments
 (0)