Repository: micronaut-projects/micronaut-core
File: http-client-core/src/main/java/io/micronaut/http/client/HttpClientConfiguration.java (Java)

Code before:
        public static final boolean DEFAULT_ENABLED = true;

        private boolean enabled = DEFAULT_ENABLED;

        /**
         * Whether deflate compression is enabled for client WebSocket connections.
         *
         * @return True if the per message deflate extension is enabled.
         */
        @Override
        public boolean isEnabled() {
            return enabled;
        }

        /**
         * Sets whether the per message deflate extension is enabled for WebSocket connections.
         * Default value ({@link io.micronaut.http.client.HttpClientConfiguration.WebSocketCompressionConfiguration#DEFAULT_ENABLED}).
         *
         * @param enabled True is it is enabled.
         */
        public void setEnabled(boolean enabled) {
            this.enabled = enabled;
        }
    }

    public static class Http2Configuration {
        /**
         * The prefix to use for configuration.
         */
        public static final String PREFIX = "http2";

        private Duration pingIntervalRead = null;

        private Duration pingIntervalWrite = null;

        private Duration pingIntervalIdle = null;

        /**
         * For HTTP/2 connections, the interval from the last inbound message to when an automated ping
         * should be sent. This can be used to keep low-traffic connections alive.
         *
         * @return The timeout when to send a ping frame
         */
        @Nullable
        public Duration getPingIntervalRead() {
            return pingIntervalRead;
        }

        /**
         * For HTTP/2 connections, the interval from the last inbound message to when an automated ping
         * should be sent. This can be used to keep low-traffic connections alive.

Review comment (suggestion):
rename to `Http2ClientConfiguration` to avoid confusion

Code after:
         */
        @SuppressWarnings("WeakerAccess")
        public static final boolean DEFAULT_ENABLED = true;

        private boolean enabled = DEFAULT_ENABLED;

        /**
         * Whether deflate compression is enabled for client WebSocket connections.
         *
         * @return True if the per message deflate extension is enabled.
         */
        @Override
        public boolean isEnabled() {
            return enabled;
        }

        /**
         * Sets whether the per message deflate extension is enabled for WebSocket connections.
         * Default value ({@link io.micronaut.http.client.HttpClientConfiguration.WebSocketCompressionConfiguration#DEFAULT_ENABLED}).
         *
         * @param enabled True is it is enabled.
         */
        public void setEnabled(boolean enabled) {
            this.enabled = enabled;
        }
    }

    /**
     * HTTP/2-specific client configuration.
     *
     * @since 4.6.0
     */
    public static class Http2ClientConfiguration {
        /**
         * The prefix to use for configuration.
         */
        public static final String PREFIX = "http2";

        private Duration pingIntervalRead = null;

        private Duration pingIntervalWrite = null;

        private Duration pingIntervalIdle = null;

        /**
         * For HTTP/2 connections, the interval from the last inbound message to when an automated ping
         * should be sent. This can be used to keep low-traffic connections alive.
         *
         * @return The timeout when to send a ping frame
         */
        @Nullable