[
https://issues.apache.org/jira/browse/JENA-1378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16105040#comment-16105040
]
ASF GitHub Bot commented on JENA-1378:
--------------------------------------
Github user ajs6f commented on a diff in the pull request:
https://github.com/apache/jena/pull/271#discussion_r130105145
--- Diff: jena-arq/src/main/java/org/apache/jena/riot/RDFParserBuilder.java
---
@@ -504,8 +504,10 @@ private HttpClient buildHttpClient() {
Header header = new BasicHeader(k, v);
hdrs.add(header);
});
- HttpClient hc =
CachingHttpClientBuilder.create().setDefaultHeaders(hdrs).build();
- return hc;
+ HttpClient hc = HttpOp.createPoolingHttpClientBuilder()
--- End diff --
For future refining, my understanding of `HttpClientBuilder` is that it
does exactly what you describe above. IOW, you can call `build()` on it and get
a client but keep it around to call `build()` on it later for another
same-config client, over and over again.
> RDFDataMgr does not perform conneg when reading remote RDF resources
> --------------------------------------------------------------------
>
> Key: JENA-1378
> URL: https://issues.apache.org/jira/browse/JENA-1378
> Project: Apache Jena
> Issue Type: Bug
> Components: ARQ
> Affects Versions: Jena 3.4.0
> Reporter: Aaron Coburn
> Assignee: Andy Seaborne
> Fix For: Jena 3.5.0
>
>
> In the past, I have been able to use RDFDataMgr.read(Graph, String) to fetch
> vocabularies like so:
> final Graph graph = Factory.createDefaultGraph();
> RDFDataMgr.read(graph, "http://purl.org/dc/terms");
> This no longer works in 3.4.0. The error is:
> org.apache.jena.riot.RiotException: Failed to determine the content
> type: (URI=http://purl.org/dc/terms/ : stream=text/html)
> The key thing about these remote resources is that they involve content
> negotiation in order to get to the RDF serialization; otherwise an HTML page
> is returned that cannot be parsed by RIOT.
> Adding a Lang attribute to the read() function does not help.
> This appears to be due to the RDFParser library not including an Accept
> header in the HTTP request to the remote resource: https://git.io/v7sTV
> Perhaps a good solution would be to provide a default accept header
> ("text/turtle, application/rdf+xml, application/ld+json") or, even better,
> that accept header could be configurable by a client.
> A work-around for me is to just use the HttpOp.execHttpGet function directly,
> but it would be nice if this functioned as it once did.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)