add client, change polling return data

1. add client.
2. polling will return array data.
potential unhanded error by non-JSON response e.g. `502`