-
Notifications
You must be signed in to change notification settings - Fork 54
feat: introduce OFREP provider #477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: introduce OFREP provider #477
Conversation
dba701c
to
2213f6b
Compare
ed7f8a8
to
6b9f13f
Compare
6b9f13f
to
d045d9c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
All seems as we planned it for JS and I can not find any issues.
27b5173
to
d767130
Compare
Hey @Kavindu-Dodan great work, just one quick question. What do you think? |
I also think that you don't have implement the |
@thomaspoignant thank you for reviewing the PR.
I assume you are referring to flags.go [1]. Yeah, it seems to have repeated logic differed by returned type, but each handler has value conversions and a specific return type of struct. I had a quick look into refactoring them but I couldn't find any good way of doing that. note - checked JS implementation, which use generic
For Go SDK, I focused on the dynamic context paradigm, hence there is no support for bulk evaluation. So to handle 429, I think what we should do is to introduce a request blocker with a timer [2]. I haven't done it in this PR. [1] - https://github.com/open-feature/go-sdk-contrib/pull/477/files#diff-df3e1ced5c1dbe3274ff2d4cc8a47eaf0aab9475b4f526501c30491cb9d499ca |
d767130
to
57cd493
Compare
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
69f63d5
to
69283f9
Compare
Signed-off-by: Kavindu Dodanduwa <[email protected]>
Signed-off-by: Kavindu Dodanduwa <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👌
Signed-off-by: Kavindu Dodanduwa <[email protected]>
This PR
Fixes #473 and introduce the Go OFREP provider 🎉
Usage
Consider the following code snippet for basic usage,
Implementation
This implementation relies on OFREP single flag evaluation endpoint. And there is no caching layer at the current implementation and flag evaluations always rely on remote evaluation results.
I have introduced modules where appropriate which should allow us to expand the implementation with a caching layer and other OFREP extensions that we plan to introduce