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

Add a hook after connection is established #18

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

raja-baz
Copy link

@raja-baz raja-baz commented Jan 19, 2018

We encountered a problem using tus-java-client when server is behind the aws load balancer. For things to work correctly, we need to be able to read the set-cookie header and send it back on future requests.

This could be implemented directly in the client, but I wanted to make as few changes(and as low-impact as possible). So instead I opted to add a hook after connection is opened. In our usage code we subclass TusClient and override the newly added onConnectionOpened to retrieve the headers and prepareConnection to inject cookies later on.

PS: I think it would be worth making the connection setup and preparation more easily hookable on a more fundamental level so one could use their own custom HTTP stack(without having to resort to the horribly low-level and undiscoverable URLStreamHandler).

@Acconut
Copy link
Member

Acconut commented Jan 19, 2018

For things to work correctly, we need to be able to read the set-cookie header and send it back on future requests.

Good catch! Since we do not require cookies for our servers/load balancing, we never came across this issue. However, I am thinking whether we should build proper Cookie support into tus-java-client to save other users the hassle figuring that out. I won't be available for the next few days, so my responses my take some time.

PS: I think it would be worth making the connection setup and preparation more easily hookable on a more fundamental level so one could use their own custom HTTP stack(without having to resort to the horribly low-level and undiscoverable URLStreamHandler).

We briefly talked about allowing different HTTP stacks in #14 but the benefits (from my rather limited experience) of doing so did not justify the amount of work required. However, I am always open to discuss this.

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.

3 participants