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)

Reply via email to