David Handermann created NIFI-10244:
---------------------------------------
Summary: 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
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)