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

Tus-Extension is ambiguous with respect to Tus-Version #154

Open
shand-obs opened this issue May 8, 2020 · 1 comment
Open

Tus-Extension is ambiguous with respect to Tus-Version #154

shand-obs opened this issue May 8, 2020 · 1 comment

Comments

@shand-obs
Copy link

Isn't it possible that not every extension reported by Tus-Extension is supported by every protocol version reported in Tus-Version by OPTIONS?

Wouldn't it make more sense for the client to send Tus-Resumable and have the server respond with the extensions supported by the server for the requested protocol version?

Could something be added to the protocol to reveal which extensions are supported by the server for each/any supported protocol version?

@Acconut
Copy link
Member

Acconut commented May 15, 2020

Isn't it possible that not every extension reported by Tus-Extension is supported by every protocol version reported in Tus-Version by OPTIONS?

Yes, such situations are possible but I don't think that a problem. Let me explain: If we introduce the extension XYZ in version 1.2 of the tus protocol, the server might return something like this for OPTIONS requests:

Tus-Extension: XYZ
Tus-Version: 1.0.0, 1.1.0, 1.2.0

In this case, there is not direct information about which versions of the tus protocol support XYZ but if the client supports XYZ, it can also now that it has been introduced in version 1.2. Based on that, it is apparent that version 1.0.0 and 1.1.0 do not support XYZ.

Therefore, I don't think the current approach to extension discovery is problematic. Does that make sense?

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

No branches or pull requests

2 participants