title: how to use Authenticator with suspend api function? Retrofit
body: <p>I am building client:</p>
  <pre><code>OkHttpClient().newBuilder()
          .authenticator(object : Authenticator {
          override fun authenticate(route: Route?, response: Response): Request? {
              val request = AppPreferences.refreshToken?.let {
                  api.refreshTokenC(it).execute()
              }
              
           ...
          })
  </code></pre>
  <p>and for this I use usual fun which returns Call :</p>
  <pre><code>@POST(&quot;Accounts/refresh&quot;)
  fun refreshTokenC(@Query(&quot;refreshToken&quot;) refreshToken: String): Call&lt;TokenResponse&gt;
  </code></pre>
  <p>But how can use it with suspend function?:</p>
  <pre><code>    @POST(&quot;Accounts/refresh&quot;)
  suspend fun refreshToken(@Query(&quot;refreshToken&quot;) refreshToken: String): Response&lt;TokenResponse&gt;
  </code></pre>