mirror of
https://github.com/internetarchive/heritrix3.git
synced 2026-11-09 15:36:40 +00:00
Improvement to [HER-1603?focusedCommentId=22557] fix
* BaseResource.java
getPreferredVariant(): always prefer HTML if anything in the header
indicates it's acceptable (even "*/*" with low q-preference)
This commit is contained in:
1 parent
c3539d3fdc
commit
29e8b05308
1 file changed
+14
@@ -19,6 +19,8 @@
|
||||
|
||||
package org.archive.crawler.restlet;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.restlet.Context;
|
||||
import org.restlet.data.MediaType;
|
||||
import org.restlet.data.Preference;
|
||||
@@ -44,13 +46,25 @@ public abstract class BaseResource extends Resource {
|
||||
* {@link https://webarchive.jira.com/browse/HER-1603}
|
||||
*/
|
||||
public Variant getPreferredVariant() {
|
||||
boolean addExplicitTextHtmlPreference = false;
|
||||
|
||||
for (Preference<MediaType> mediaTypePreference: getRequest().getClientInfo().getAcceptedMediaTypes()) {
|
||||
if (mediaTypePreference.getMetadata().equals(MediaType.TEXT_HTML)) {
|
||||
mediaTypePreference.setQuality(Float.MAX_VALUE);
|
||||
addExplicitTextHtmlPreference = false;
|
||||
break;
|
||||
} else if (mediaTypePreference.getMetadata().includes(MediaType.TEXT_HTML)) {
|
||||
addExplicitTextHtmlPreference = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (addExplicitTextHtmlPreference) {
|
||||
List<Preference<MediaType>> acceptedMediaTypes = getRequest().getClientInfo().getAcceptedMediaTypes();
|
||||
acceptedMediaTypes.add(new Preference<MediaType>(MediaType.TEXT_HTML, Float.MAX_VALUE));
|
||||
getRequest().getClientInfo().setAcceptedMediaTypes(acceptedMediaTypes);
|
||||
}
|
||||
|
||||
|
||||
return super.getPreferredVariant();
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user