[
https://issues.apache.org/jira/browse/NIFI-10244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17578688#comment-17578688
]
ASF subversion and git services commented on NIFI-10244:
--------------------------------------------------------
Commit 864036674ec101c81701bbd8fbb7f96ad25dd3be in nifi's branch
refs/heads/main from David Handermann
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=864036674e ]
NIFI-10244 Added nifi-web-client-api and implementation
- Added nifi-web-client implementation based on OkHttp
- Added WebClientServiceProvider Controller Service interface and implementation
- Corrected comments and added unmodifiableMap wrapper
- Added getHeaderNames() and corrected ProxyContext comments
This closes #6268
Signed-off-by: Paul Grey <[email protected]>
> Add WebClientService Abstraction for HTTP Operations
> ----------------------------------------------------
>
> Key: NIFI-10244
> URL: https://issues.apache.org/jira/browse/NIFI-10244
> Project: Apache NiFi
> Issue Type: New Feature
> Components: Core Framework, Extensions
> Reporter: David Handermann
> Assignee: David Handermann
> Priority: Major
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> Multiple framework and extension components perform various HTTP operations
> using a variety of HTTP libraries. Processors such as InvokeHTTP and
> Controller Services such as RestLookupService use OkHttp while other
> components, such as PostHTTP, use Apache HttpComponents. Other components,
> such as the Confluent Schema Registry Client and the NiFi Registry Client use
> Jersey. Supporting multiple HTTP client libraries presents challenges for
> dependency management and maintenance efforts.
> A new HTTP service interface should be developed to abstract HTTP operations
> and common protocol configuration settings. This shared service interface can
> support a variety of use cases and should be able to replace direct HTTP
> client library interaction.
> The service interface should support standard HTTP request-response features,
> avoiding any external dependencies. The interface definition and standard
> implementation should support synchronous HTTP operations, using a fluent
> style of for composing requests and handling responses.
> The service implementation should support configurable properties for socket
> communication timeouts, HTTP application protocol selection, and TLS
> communication.
> The interface and implementation should be specified in separate common
> modules, which should also provide the basis for a Controller Service
> interface and implementation. This design should support both framework-level
> reuse as well as user-facing component configuration.
> The Controller Service interface and implementation should provide a reusable
> foundation for Processors that require HTTP operations.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)