Slide 8
Slide 8 text
HotoUse(Flag Evaluation)
1. Flagd Provider
2. Node.js
import express from "express";
import Router from "express-promise-router";
import { OpenFeature } from "@openfeature/server-sdk";
import { FlagdProvider } from "@openfeature/flagd-provider";
OpenFeature.setProvider(new FlagdProvider({
host: process.env.FLAGD_HOST || "localhost"
}));
const client = OpenFeature.getClient();
const app = express();
const routes = Router();
app.use((_, res, next) => {
res.setHeader("content-type", "text/plain");
next();
}, routes);
routes.get("/", async (_, res) => {
const showWelcomeMessage = await client.getBooleanValue(
"welcome-message",
false
);
if (showWelcomeMessage) {
res.send("Express + TypeScript + OpenFeature Server");
} else {
res.send("Express + TypeScript Server");
}
});
const port = process.env.PORT || 3333;
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
https://openfeature.dev/specification/sections/flag-eval
uation/