You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2022/08/03 14:53:00 UTC

[jira] [Updated] (NIFI-10244) Add WebClientService Abstraction for HTTP Operations

     [ https://issues.apache.org/jira/browse/NIFI-10244?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Handermann updated NIFI-10244:
------------------------------------
    Status: Patch Available  (was: In Progress)

> 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: 10m
>  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)