ihsw / toxiproxy-php-client
PHP client for shopify/toxiproxy
Installs: 2 997
Dependents: 4
Suggesters: 0
Security: 0
Stars: 30
Watchers: 2
Forks: 2
Open Issues: 1
Requires
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- php-coveralls/php-coveralls: ^2.0
- phpdocumentor/phpdocumentor: ^v2.9.0
- phpunit/phpunit: ^6.5.5
- react/socket: ^v0.8.2
- react/socket-client: ^v0.7.0
- squizlabs/php_codesniffer: ^3.2.2
This package is not auto-updated.
Last update: 2024-12-21 18:30:04 UTC
README
Toxiproxy makes it easy and trivial to test network conditions, for example low-bandwidth and high-latency situations. toxiproxy-php-client
includes everything needed to get started with configuring Toxiproxy upstream connection and listen endpoints.
Note: toxiproxy-php-client
is currently compatible with toxiproxy-2.0+
.
Installing via Composer
The recommended way to install toxiproxy-php-client
is through Composer.
Once that is installed and you have added ihsw/toxiproxy-php-client
to your composer.json
configuration, you can require the autoloader and start using the library.
Here is an example for creating a proxy that limits a Redis connection to 1000KB/s.
<?php require("./vendor/autoload.php"); use Ihsw\Toxiproxy\Toxiproxy; use Ihsw\Toxiproxy\ToxicTypes; use Ihsw\Toxiproxy\StreamDirections; $toxiproxy = new Toxiproxy("http://toxiproxy:8474"); $proxy = $toxiproxy->create("ihsw_example_redis_master", "127.0.0.1:6379"); $toxic = $proxy->create(ToxicTypes::BANDWIDTH, StreamDirections::UPSTREAM, 1.0, [ "rate" => 1000 ]); printf( "Listening on IP %s and port %s on behalf of 6379, with a connection that's limited to 1000KB/s\n", $proxy->getListenIp(), $proxy->getListenPort() ); $toxiproxy->delete($proxy);
Documentation
Additional examples can be found in the examples
directory for expected usage.