-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add LDAllFlagsState_Map C binding (#350)
Adds `LDAllFlagsState_Map(state)`, which returns a map of key/value pairs encoded in an object-type `LDValue`. This is in contrast to accessing individual values in the state.
- Loading branch information
1 parent
34cafc6
commit 2aca898
Showing
9 changed files
with
263 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletions
2
libs/common/include/launchdarkly/detail/c_binding_helpers.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
#pragma once | ||
|
||
#include <launchdarkly/bindings/c/status.h> | ||
#include <launchdarkly/error.hpp> | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
67 changes: 67 additions & 0 deletions
67
libs/server-sdk-redis-source/tests/prefixed_redis_client.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#pragma once | ||
|
||
#include <launchdarkly/serialization/json_flag.hpp> | ||
#include <launchdarkly/serialization/json_segment.hpp> | ||
|
||
#include <gtest/gtest.h> | ||
#include <redis++.h> | ||
#include <boost/json.hpp> | ||
|
||
#include <string> | ||
|
||
class PrefixedClient { | ||
public: | ||
PrefixedClient(sw::redis::Redis& client, std::string prefix) | ||
: client_(client), prefix_(std::move(prefix)) {} | ||
|
||
void Init() const { | ||
try { | ||
client_.set(Prefixed("$inited"), "true"); | ||
} catch (sw::redis::Error const& e) { | ||
FAIL() << e.what(); | ||
} | ||
} | ||
|
||
void PutFlag(launchdarkly::data_model::Flag const& flag) const { | ||
try { | ||
client_.hset(Prefixed("features"), flag.key, | ||
serialize(boost::json::value_from(flag))); | ||
} catch (sw::redis::Error const& e) { | ||
FAIL() << e.what(); | ||
} | ||
} | ||
|
||
void PutDeletedFlag(std::string const& key, std::string const& ts) const { | ||
try { | ||
client_.hset(Prefixed("features"), key, ts); | ||
} catch (sw::redis::Error const& e) { | ||
FAIL() << e.what(); | ||
} | ||
} | ||
|
||
void PutDeletedSegment(std::string const& key, | ||
std::string const& ts) const { | ||
try { | ||
client_.hset(Prefixed("segments"), key, ts); | ||
} catch (sw::redis::Error const& e) { | ||
FAIL() << e.what(); | ||
} | ||
} | ||
|
||
void PutSegment(launchdarkly::data_model::Segment const& segment) const { | ||
try { | ||
client_.hset(Prefixed("segments"), segment.key, | ||
serialize(boost::json::value_from(segment))); | ||
} catch (sw::redis::Error const& e) { | ||
FAIL() << e.what(); | ||
} | ||
} | ||
|
||
private: | ||
std::string Prefixed(std::string const& name) const { | ||
return prefix_ + ":" + name; | ||
} | ||
|
||
sw::redis::Redis& client_; | ||
std::string const prefix_; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.