[ 
https://issues.apache.org/jira/browse/JENA-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13698375#comment-13698375
 ] 

Rob Vesse commented on JENA-480:
--------------------------------

I notice that LocatorURL exists in both jena-core and jena-arq, since 
LocatorURL is fairly low level I will not adapt the jena-arq version.  Users 
can still configure the default authenticator since LocatorURL goes through 
HttpOp anyway.

Is there anything else in ARQ that uses HTTP and needs to be updated to go 
through HttpOp?

In the meantime I will start adding a new documentation page explaining the new 
functionality.
                
> Unify HTTP usage and authentication mechanisms in ARQ
> -----------------------------------------------------
>
>                 Key: JENA-480
>                 URL: https://issues.apache.org/jira/browse/JENA-480
>             Project: Apache Jena
>          Issue Type: Improvement
>          Components: ARQ
>            Reporter: Rob Vesse
>            Assignee: Rob Vesse
>             Fix For: Jena 2.10.2
>
>   Original Estimate: 72h
>          Time Spent: 5h
>  Remaining Estimate: 67h
>
> Currently ARQ uses a mixture of HttpClient and HttpURLConnection to perform 
> various HTTP operations e.g. SPARQL Queries, SPARQL Updates and SPARQL Graph 
> Store Protocol.
> This has the effect of making the code somewhat awkward to maintain and makes 
> certain operations like authentication more complex than they need to be 
> because different parts of the system support different modes of 
> authentication.
> For example currently SPARQL queries only support Basic Auth and they always 
> pre-authenticate so they cannot do proxy auth or use any other kind of auth 
> method.  On the other hand SPARQL updates use HttpClient which is capable of 
> performing Basic, Digest, NTLM, SPNEGO and Kerberos for both normal and proxy 
> auth but is never pre-authenticates.
> This task proposes unifying all HTTP operations in ARQ to use Apache 
> HttpClient since it is more flexible and introducing a more extensible 
> framework for doing authentication.
> In terms of HTTP unification we need to convert the following:
> - HttpQuery should use HttpClient
> - LocatorURL should use HttpClient
> In terms of HTTP Authentication my idea is as follows, introduce a new 
> interface HttpAuthenticator which provides an apply(AbstractHttpClient 
> client, URI target) method.  All systems that may permit HTTP auth will allow 
> use of an authenticator, providing a generic interface for authenticators 
> will allow us to introduce authenticators for other auth schemes e.g. form 
> based logins.
> We can also provide authenticators that leverage existing mechanisms e.g. 
> storing credentials in a service context which would be used by default.  
> Existing methods that accept username and password would use simpler 
> authenticators.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to