fipper_go_sdk

package module
v0.0.0-...-443e120 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2021 License: GPL-3.0 Imports: 10 Imported by: 0

README

Fipper-go-sdk

A client library for Golang (SDK)

Fipper.io - a feature toggle (aka feature flags) software. More info https://fipper.io

Install

go get github.com/Fipper-io/fipper-go-sdk

Example

main.go
package main

import (
	"github.com/Fipper-io/fipper-go-sdk"
	"fmt"
)

func main() {
	client := fipper_go_sdk.FipperClient{Rate: fipper_go_sdk.Rarely}
	config, err := client.GetConfig(
		"production",
		"* place your token here *",
		12345)

	type myJsonScheme struct {
		Test int
	}
	mySchema := myJsonScheme{}

	if err != nil {
		fmt.Printf("Errors: %v", err)
		return
	}

	if flag := config.Flags["bool_flag"]; flag.State {
		val, _ := flag.GetBool()
		fmt.Printf("bool_flag: %v\n", val)
	}

	if flag := config.Flags["int_flag"]; flag.State {
		val, _ := flag.GetInt()
		fmt.Printf("int_flag: %v\n", val)
	}

	if flag := config.Flags["string_flag"]; flag.State {
		val, _ := flag.GetString()
		fmt.Printf("string_flag: %v\n", val)
	}

	if flag := config.Flags["json_flag"]; flag.State {
		flag.GetJson(&mySchema)
		fmt.Printf("json_flag: %v\n", mySchema)
	}
}

More information and more client libraries: https://docs.fipper.io

Documentation

Index

Constants

View Source
const (
	Rarely     = 15
	Normal     = 7
	Frequently = 3
)

Variables

View Source
var DOMAIN = "https://sync2.fipper.io"

Functions

This section is empty.

Types

type ConfigManager

type ConfigManager struct {
	Flags map[string]Flag
}

func CreateConfigManagerFromRawData

func CreateConfigManagerFromRawData(rawData string) *ConfigManager

type FipperClient

type FipperClient struct {
	Rate int8
	// contains filtered or unexported fields
}

func (*FipperClient) GetConfig

func (fc *FipperClient) GetConfig(environment string, apiToken string, projectId int) (*ConfigManager, error)

type Flag

type Flag struct {
	State bool
	Type  int
	Value interface{}
}

func (*Flag) GetBool

func (f *Flag) GetBool() (bool, error)

func (*Flag) GetInt

func (f *Flag) GetInt() (int, error)

func (*Flag) GetJson

func (f *Flag) GetJson(schema interface{}) error

func (*Flag) GetString

func (f *Flag) GetString() (string, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL