Handling Etags on the client side

I’m trying to find some ideas on how to handle Etags on the client-side from within Webflux http client builder( WebClient.Builder )
Wondering if it would build the response based on the server’s response(cached payload if 304 or a new one if 200).
Something similar to the way that Retrofit2 does. Anyone?
e.g.

public static Retrofit getAdapter(Context context, String baseUrl) {
OkHttpClient.Builder builder = new OkHttpClient().newBuilder();
builder.cache(
new Cache(context.getCacheDir(), CACHE_SIZE_BYTES));
OkHttpClient client = builder.build();
Retrofit.Builder retrofitBuilder = new Retrofit.Builder();
retrofitBuilder.baseUrl(baseUrl).client(client);
return retrofitBuilder.build();
}

The Last-Modified headers or Etags will be automatically used depending on the servers responses
On a 304 status, Retrofit2 and OkHttp3 will pretend this response was equal to the last response; the cached response is returned