TODO custom/JSON encoding stream chunked data throttling error handling timeouts client side load balancing