Almost every aspect of the client is configurable. Most users will only need to configure a few parameters to suit their needs, but it is possible to completely replace much of the internals if required.

Custom configuration is accomplished before the client is instantiated, through the ClientBuilder helper object. We’ll walk through all the configuration options and show sample code to replace the various components.