NAME
LaunchDarkly::Server - Perl server side SDK for LaunchDarkly
SYNOPSIS
use LaunchDarkly::Server;
my $config_builder = new LaunchDarkly::Server::ConfigBuilder("my-sdk-key");
my $config = $config_builder->Build();
my $client = new LaunchDarkly::Server::Client($config);
my $status = $client->StartAsync()->WaitFor(10000);
die "Could not connect" unless $status == LaunchDarkly::Status::Ready();
my $builder = new LaunchDarkly::ContextBuilder();
my $kind = $builder->Kind("user", "user123");
$kind->Set("myattribute", LaunchDarkly::Value::NewString("abc"));
my $context = $builder->Build();
my $result = $client->StringVariation($context, "myflag", "default-value");
DESCRIPTION
A minimum implementation of the LaunchDarkly server side SDK in Perl as a wrapper to the official C++ SDK. See https://launchdarkly.com/docs/sdk/server-side/c-c--
Make sure your LaunchDarkly library is compiled with the LD_BUILD_EXPORT_ALL_SYMBOLS flag so that the C++ symbols are exported. Tested with version 3.8.x.
EXPORT
None by default.
Exportable constants
None.
Exportable functions
LaunchDarkly::Server::ConfigBuilder * LaunchDarkly::Server::ConfigBuilder::new(std::string sdk_key)
LaunchDarkly::Server::Config * LaunchDarkly::Server::ConfigBuilder::Build()
LaunchDarkly::Server::Client * LaunchDarkly::Server::Client::new(LaunchDarkly::Server::Config *config)
LaunchDarkly::Future * LaunchDarkly::Server::Client::StartAsync()
bool LaunchDarkly::Server::Client::BoolVariation(LaunchDarkly::Context *context, std::string key, bool default_value)
std::string LaunchDarkly::Server::Client::StringVariation(LaunchDarkly::Context *context, std::string key, std::string default_value)
double LaunchDarkly::Server::Client::DoubleVariation(LaunchDarkly::Context *context, std::string key, double default_value)
int LaunchDarkly::Server::Client::IntVariation(LaunchDarkly::Context *context, std::string key, int default_value)
void LaunchDarkly::Future::Wait()
LaunchDarkly::Status LaunchDarkly::Future::WaitFor(int milliseconds)
int LaunchDarkly::Status::Ready()
int LaunchDarkly::Status::Timeout()
int LaunchDarkly::Status::Deferred()
LaunchDarkly::ContextBuilder * LaunchDarkly::ContextBuilder::new()
LaunchDarkly::AttributesBuilder * LaunchDarkly::ContextBuilder::Kind(std::string kind, std::string key)
LaunchDarkly::Context * LaunchDarkly::ContextBuilder::Build()
void LaunchDarkly::AttributesBuilder::Set(std::string name, LaunchDarkly::Value *value)
LaunchDarkly::Value * LaunchDarkly::Value::NewInt(int num)
LaunchDarkly::Value * LaunchDarkly::Value::NewDouble(double num)
LaunchDarkly::Value * LaunchDarkly::Value::NewString(std::string str)
LaunchDarkly::Value * LaunchDarkly::Value::NewBool(bool b)
SEE ALSO
AUTHOR
Miklos Tirpak, <miklos.tirpak@emnify.com>
COPYRIGHT AND LICENSE
Copyright (C) 2025 by EMnify
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.32.1 or, at your option, any later version of Perl 5 you may have available.