An API for managing your toggles, uses Redis to store the toggle collection.
Read our blog post series about this repository at:
- http://labs.qandidate.com/blog/2014/08/18/a-new-feature-toggling-library-for-php/
- http://labs.qandidate.com/blog/2014/08/19/open-sourcing-our-feature-toggle-api-and-ui/
Install the dependencies with composer:
make dependencies
Configuration is determined based on environment variables. See the .env.*
files.
You can override the values in the file with environment values.
The default configuration is mainly for local development.
The environment variable TOGGLE__ALLOWED_ORIGINS
should be valid JSON. This is to allow arrays.
We use PHPUnit, so to run the tests simply run:
docker-compose up -d
make test
With your favorite webserver (or with php -S 127.0.0.1:1337 -t public
for local testing) point your document root to the public
folder.
GET /toggles
PUT /toggles/{name}
Example request:
{
"conditions" : [
{
"name" : "operator-condition",
"operator" : {
"name" : "less-than",
"value" : "1337"
},
"key" : "user_id"
}
],
"name" : "foo",
"status" : "conditionally-active",
"originalName" : "foo"
}
NOTE: PUT doesn't remove the previous toggle if you rename it. So if you want to rename foo to bar, you would have to PUT
bar and DELETE
foo.
DELETE /toggles/{name}
MIT, see LICENSE.