Skip to content

HTTP redirect as per specification #1024

Closed as not planned
Closed as not planned

Description

@fjtirado

Currently, user can provide custom Http clients different than the used library (jersey, resteasy..) default one through the usage of WorkflowAdditionalObject.

Although users already has access to the task object (as part of TaskContext and and hence the timeout and redirect) this does not ensure that those users will took into account the timeout and redirect config as specified in the task.

Since there are JAXRs implementations that allows the timeout to be changed per request (as Jersey does), potentially reusing one single client and there are others (as RestEasy) that requires the timeout to be set before the client is actually created (implying one different client for request), what we can do is:

  • Change the HttpClientResolver mentioned code to also expect a ClientBuilder (besided the Client), if the user return a CliendBuilder, we can then set the timeout over that ClientBuilder and then build the client (this has the additional advantage of allowing closing the client once it has been used). If a Client is returned, then nothing is done.
  • User can additionally include a new HttpRequestConfigurer implementation(tipically one per application, see ConstantAdditionalObject), where they can change the request setting timout and redirect properties, the implementation will invoke setTimeout and setRedirect over each request if this interface has been provided.

Activity

  1. self-assigned this
    on Dec 1, 2025
  2. changed the title [-]Support ClientFactory interface[/-] [+]HTTP Client timeout and redirect as per specification[/+] on Dec 1, 2025
  3. changed the title [-]HTTP Client timeout and redirect as per specification[/-] [+]HTTP request timeout and redirect as per specification[/+] on Dec 1, 2025
  4. fjtirado commented on Dec 23, 2025

    @fjtirado
    CollaboratorAuthor

    After a second thought, It is not longer clear to me that the we should make the task timeout equal to http timeout if the task is an http one. Basically because since we are allowing users to setup the http client through additional object mechanism, it might potentially collide.
    Probably it would be good to change the scope of this issue just to handle the redirect. @ricardozanini lets take a look when you can.

  5. changed the title [-]HTTP request timeout and redirect as per specification[/-] [+]HTTP redirect as per specification[/+] on Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions