Jan Philipp created CXF-9101:
--------------------------------

             Summary: Invalid api visibility in CXFHttpRequest
                 Key: CXF-9101
                 URL: https://issues.apache.org/jira/browse/CXF-9101
             Project: CXF
          Issue Type: Bug
          Components: Transports
    Affects Versions: 4.0.6, 4.1.0
            Reporter: Jan Philipp


Released in 4.0.6 and 4.1.0, there was merged 
[https://github.com/apache/cxf/pull/2093] which adds some functionality for 
AsyncHTTPConduit.

However, this change results into following api visibility (breaking) change.

* Before CXFHttpRequest#getOutputStream() returns the public type 
AsyncWrappedOutputStream (actually a class)
* After CXFHttpRequest#getOutputStream() returns the package(!) protected type 
AsyncWrappedOutputStreamBase (actually an interface). No a public api method 
returns a non-public type.
 
For not breaking existing api signatures and not producing invalid 
combinations, this (interface) should be public also. However, if the api 
(method) itself should not be public at all, I would suggest a remark in the 
notes and removing the public access completely. If the latter one, what would 
be an alternative?
 
In case of asking the context: I'm using winrm4j which has implemented its 
client backend with CXF. [See 
usage|https://github.com/cloudsoft/winrm4j/blob/806a943a3d68f3a6ad23385375c61a53c7fbec43/client/src/main/java/io/cloudsoft/winrm4j/client/encryption/AsyncHttpEncryptionAwareConduit.java#L105].
 
Don't be confused, the project I linked looks to be abandoned. I have forked & 
updated the project against the [4.x-line 
already|https://github.com/hlsolutions/winrm4j/tree/feature/jdk17_jakarta], but 
until 4.0.5 there were no issues.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to