You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Ankit Dangi (JIRA)" <ji...@apache.org> on 2017/08/21 20:59:00 UTC

[jira] [Created] (FELIX-5680) Add createResource(URLConnection conn) to DataModelHelperImpl to support URLs that require Authentication

Ankit Dangi created FELIX-5680:
----------------------------------

             Summary: Add createResource(URLConnection conn) to DataModelHelperImpl to support URLs that require Authentication
                 Key: FELIX-5680
                 URL: https://issues.apache.org/jira/browse/FELIX-5680
             Project: Felix
          Issue Type: Bug
          Components: Bundle Repository (OBR)
    Affects Versions: bundlerepository-2.0.10
         Environment: macOS 10.12.6, Felix 5.6.4
            Reporter: Ankit Dangi
             Fix For: bundlerepository-2.0.12


Referring to classes: 

* org.apache.felix.bundlerepository.impl.DataModelHelperImpl.java 
* org.apache.felix.bundlerepository.impl.FileUtil.java

Current scenario: The method DataModelHelperImpl.createResource(URL bundleUrl) has an inner method loadEntry(String name) that calls FileUtil.openURL(bundleUrl) on the line 479. FileUtil.openURL(URL bundleURL) is a helper function for FileUtil.openURL(URLConnection conn). 

Problem: It restricts the use of URL connections that require authorization. As a result, a 401 error occurs for bundleURLs that require HttpHeaders.AUTHORIZATION. Note: It is not the same as setting Proxy-Authorization because Authorization is a different HTTPHeader. 

Possible Solution: Overload the DataModelHelperImpl.createResource() such that it takes as input a URLConnection object which then calls the FileUtil.openURL(conn). An URLConnection object has method setRequestProperty(key, value) which could then make it possible for DataModelHelperImpl.createResource() to handle diverse scenarios. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)