[ 
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)

Reply via email to