Repository: netty/netty
File: codec-http3/src/main/java/io/netty/handler/codec/http3/Http3Headers.java (Java)

Code before:
     * Sets the {@link PseudoHeaderName#PATH} header
     *
     * @param value the value for the header.
     * @return      this instance itself.
     */
    Http3Headers path(CharSequence value);

    /**
     * Sets the {@link PseudoHeaderName#STATUS} header
     *
     * @param value the value for the header.
     * @return      this instance itself.
     */
    Http3Headers status(CharSequence value);

    /**
     * Sets the {@link PseudoHeaderName#PROTOCOL} header
     * <p>
     * This pseudo-header is used for Extended CONNECT requests as defined in RFC 9220.
     * Common values include "webtransport" and "websocket".
     *
     * @param value the value for the header.
     * @return      this instance itself.
     * @see <a href="https://www.rfc-editor.org/rfc/rfc9220.html">RFC 9220: Bootstrapping WebSockets with HTTP/3</a>
     */
    Http3Headers protocol(CharSequence value);

    /**
     * Gets the {@link PseudoHeaderName#METHOD} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */
    @Nullable
    CharSequence method();

    /**
     * Gets the {@link PseudoHeaderName#SCHEME} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */
    @Nullable
    CharSequence scheme();

    /**
     * Gets the {@link PseudoHeaderName#AUTHORITY} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */
    @Nullable
    CharSequence authority();


Review comment (suggestion):
```suggestion
    default Http3Headers protocol(CharSequence value) {
        set(PseudoHeaderName.PROTOCOL.value(), value);
        return this;
    }
```

Code after:
     * Sets the {@link PseudoHeaderName#PATH} header
     *
     * @param value the value for the header.
     * @return      this instance itself.
     */
    Http3Headers path(CharSequence value);

    /**
     * Sets the {@link PseudoHeaderName#STATUS} header
     *
     * @param value the value for the header.
     * @return      this instance itself.
     */
    Http3Headers status(CharSequence value);

    /**
     * Sets the {@link PseudoHeaderName#PROTOCOL} header
     * <p>
     * This pseudo-header is used for Extended CONNECT requests as defined in RFC 9220.
     * Common values include "webtransport" and "websocket".
     *
     * @param value the value for the header.
     * @return      this instance itself.
     * @see <a href="https://www.rfc-editor.org/rfc/rfc9220.html">RFC 9220: Bootstrapping WebSockets with HTTP/3</a>
     */
    default Http3Headers protocol(CharSequence value) {
        set(PseudoHeaderName.PROTOCOL.value(), value);
        return this;
    }

    /**
     * Gets the {@link PseudoHeaderName#METHOD} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */
    @Nullable
    CharSequence method();

    /**
     * Gets the {@link PseudoHeaderName#SCHEME} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */
    @Nullable
    CharSequence scheme();

    /**
     * Gets the {@link PseudoHeaderName#AUTHORITY} header or {@code null} if there is no such header
     *
     * @return the value of the header.
     */