-
Notifications
You must be signed in to change notification settings - Fork 24.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow passing versioned media types to 7.x server #65362
Allow passing versioned media types to 7.x server #65362
Conversation
a follow up after elastic#63071 where it missed the XContentType.fromMediaType method. That method also have to remove the vendor specific substrings (vnd.elasticsearch+ and compatible-with parameter) from mediaType value relates elastic#51816
Pinging @elastic/es-core-infra (Team:Core/Infra) |
…ing_vnd_media_type
@@ -151,7 +151,8 @@ public static XContentType fromMediaTypeOrFormat(String mediaType) { | |||
private static String removeVersionInMediaType(String mediaType) { | |||
if (mediaType.contains("vnd.elasticsearch")) { | |||
return mediaType.replaceAll("vnd.elasticsearch\\+", "") | |||
.replaceAll("\\s*;\\s*compatible-with=\\d+", ""); | |||
.replaceAll("\\s*;\\s*compatible-with=\\d+", "") | |||
.replaceAll("\\s*;\\s*",";"); // to allow matching using startsWith |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not sure I understand the comment ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
matching in fromMediaTypeOrFormat can use startsWith so that
application/json; charset=utf-8
can be matched. however this assumes that ;
is immediately following mediaTypeWithoutParameters
I don't want to refactor this in 7.x, the intention of .replaceAll("\\s*;\\s*",";");
was to make it slightly easier if you provided application/vnd.elasticsearch+json;compatible-with=7 ; charset=utf-8
with accidental space.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated the comment with a reference to a method
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
a follow up after #63071 where it missed the XContentType.fromMediaType
method.
That method also have to remove the vendor specific substrings
(vnd.elasticsearch+ and compatible-with parameter) from mediaType value
relates #51816
gradle check
?