You can cancel a request by using a cancel token.
One token can be shared with different requests.
when a token's cancel method invoked, all requests
with this token will be cancelled.
LogInterceptor is used to print logs during network requests.
It's better to add LogInterceptor to the tail of the interceptor queue,
otherwise the changes made in the interceptor behind A will not be printed out.
This is because the execution of interceptors is in the order of addition.
ListFormat specifies the array format
(a single parameter with multiple parameter or multiple parameters with the same name)
and the separator for array items.