title: Retrofit 2 : Custom annotations for custom interceptor
body: <p>I have custom interceptor for authentication:</p>
  
  <pre><code>@Named("authInterceptor")
      @Provides
      @Singleton
      fun providesAuthInterceptor(preferencesManager: PreferencesManager): Interceptor {
          return Interceptor { chain -&gt;
              val newBuilder = chain.request().newBuilder()
              newBuilder.addHeader("access-token", preferencesManager.getAccessToken())
              val request = newBuilder.build()
              return@Interceptor chain.proceed(request)
          }
      }
  </code></pre>
  
  <p>But I have some calls that not need auth header. </p>
  
  <p>What I would like to have in my service is:</p>
  
  <pre><code>interface NetService {
      @NEEDAUTH
      @GET("users")
      fun getAllShops(key: String): Single&lt;SomeResponse&gt;
  
      @FormUrlEncoded
      @POST("users")
      fun register(@Field("nickname") nickname: String): Single&lt;SomeResponse&gt;
  }
  </code></pre>
  
  <p>So, the first call will use authInterceptor, the second one will not use it.</p>