containsHeaderString makes sense in all four filter context types
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java index f252801..357c35b 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientRequestContext.java
@@ -193,6 +193,23 @@ public String getHeaderString(String name); /** + * Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. + * + * Each single header value is converted to String using a {@link jakarta.ws.rs.ext.RuntimeDelegate.HeaderDelegate} if one + * is available via {@link jakarta.ws.rs.ext.RuntimeDelegate#createHeaderDelegate(java.lang.Class)} for the header value + * class or using its {@code toString} method if a header delegate is not available. + * + * @param name the message header. + * @param value the message header value. + * @param ignoreCase whether to ignore upper/lower case. + * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose + * comma-separated header string contains value as a whole word. + * @see #getHeaders() + * @see #getHeaderString(String) + */ + public boolean containsHeaderString(String name, String value, boolean ignoreCase); + + /** * Get message date. * * @return the message date, otherwise {@code null} if not present.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java index 87feabd..93a04a7 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/client/ClientResponseContext.java
@@ -89,6 +89,19 @@ public String getHeaderString(String name); /** + * Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. + * + * @param name the message header. + * @param value the message header value. + * @param ignoreCase whether to ignore upper/lower case. + * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose + * comma-separated header string contains value as a whole word. + * @see #getHeaders() + * @see #getHeaderString(String) + */ + public boolean containsHeaderString(String name, String value, boolean ignoreCase); + + /** * Get the allowed HTTP methods from the Allow HTTP header. * * @return the allowed HTTP methods, all methods will returned as upper case strings.
diff --git a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java index b7e593e..42ee509 100644 --- a/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java +++ b/jaxrs-api/src/main/java/jakarta/ws/rs/container/ContainerRequestContext.java
@@ -229,6 +229,19 @@ public String getHeaderString(String name); /** + * Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. + * + * @param name the message header. + * @param value the message header value. + * @param ignoreCase whether to ignore upper/lower case. + * @return {@code true} if and only if a header with the provided name exists having either the exact value or whose + * comma-separated header string contains value as a whole word. + * @see #getHeaders() + * @see #getHeaderString(String) + */ + public boolean containsHeaderString(String name, String value, boolean ignoreCase); + + /** * Get message date. * * @return the message date, otherwise {@code null} if not present.