Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIFI-13982 - Web client - body as string and get request URI for response entity #9500

Merged
merged 4 commits into from
Nov 12, 2024

Conversation

pvillard31
Copy link
Contributor

@pvillard31 pvillard31 commented Nov 7, 2024

Summary

NIFI-13982 - Web client - body as string and get request URI for response entity

In the web client API, we currently have in HttpRequestBodySpec:

HttpRequestHeadersSpec body(InputStream inputStream, OptionalLong contentLength) 

It would be convenient to also have:

HttpRequestHeadersSpec body(String body); 

Especially when the payload is very small and easy to craft.

In addition, in HttpResponseEntity, there is no way to know what endpoint has been accessed to generate that response. Having the possibility to retrieved the requested endpoint from the response entity might be useful when there is a separation between processors and controller services, in particular when generating the provenance events at processor level where adding the transit URI is useful for data lineage.

Tracking

Please complete the following tracking steps prior to pull request creation.

Issue Tracking

Pull Request Tracking

  • Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
  • Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

  • Pull Request based on current revision of the main branch
  • Pull Request refers to a feature branch with one commit containing changes

Verification

Please indicate the verification steps performed prior to pull request creation.

Build

  • Build completed using mvn clean install -P contrib-check
    • JDK 21

Licensing

  • New dependencies are compatible with the Apache License 2.0 according to the License Policy
  • New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

  • Documentation formatting appears as expected in rendered files

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for putting together this improvement @pvillard31. The general changes look good. I noted the importance of highlighting that the String request body will be encoded as UTF-8. I also noted some suggestions on the URI for the response.

Co-authored-by: David Handermann <exceptionfactory@apache.org>
@pvillard31
Copy link
Contributor Author

Thanks @exceptionfactory - committed the suggested changes. I didn't realize that response also had the URI available.

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the updates @pvillard31. This looks close to completion, I just noticed one more method naming issue that should be adjusted for consistency with the others in HttpResponseEntity.

Co-authored-by: David Handermann <exceptionfactory@apache.org>
@pvillard31
Copy link
Contributor Author

Pushed a commit with your suggested changes. Thanks @exceptionfactory

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again @pvillard31, looks good! +1 merging

@exceptionfactory exceptionfactory merged commit 6c4ddf8 into apache:main Nov 12, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants