An open API service indexing awesome lists of open source software.

https://github.com/trekawek/toxiproxy-java

Java API client for the Toxiproxy
https://github.com/trekawek/toxiproxy-java

Last synced: 9 months ago
JSON representation

Java API client for the Toxiproxy

Awesome Lists containing this project

README

          

# toxiproxy-java

[![Build Status](https://github.com/trekawek/toxiproxy-java/workflows/CI/badge.svg)](https://github.com/trekawek/toxiproxy-java/actions?query=workflow%3ACI)

This is a client library for the [Toxiproxy](https://github.com/shopify/toxiproxy) - a proxy that simulates network and system conditions. With toxiproxy-java you may use a convenient Java API to create and manage proxies. Before you using this library, please read the [Usage section of the Toxiproxy README](https://github.com/shopify/toxiproxy#usage).

Installation:

```xml

eu.rekawek.toxiproxy
toxiproxy-java
2.1.7

```

## Usage

By default, the `ToxiproxyClient` tries to connect to the `http://localhost:8474`. This might be changed using the parametrized constructor:

```java
ToxiproxyClient client = new ToxiproxyClient("192.168.1.1", 8474);
```

Following snippet will create a new proxy for the MySQL service:

```java
Proxy mysqlProxy = client.createProxy("mysql", "localhost:21212", "localhost:3306");
```

The proxy will listen on port 21212 on the loopback interface and transfer all the traffic to port 3306. We may also create a [toxic](https://github.com/shopify/toxiproxy#toxics):

```java
mysqlProxy.toxics().latency("my-latency-toxic", DOWNSTREAM, 100).setJitter(15);
```

For a full list of toxics, please visit the [Toxiproxy README](https://github.com/shopify/toxiproxy#toxics).