tus / tusd

Reference server implementation in Go of tus: the open protocol for resumable file uploads
https://tus.github.io/tusd
MIT License
2.92k stars 465 forks source link

NetworkControlError/NetworkTimeoutError "feature not supported" in logs #1107

Closed bfrederix closed 2 months ago

bfrederix commented 2 months ago

Question I'm using the Go library and running Tus in Google Cloud Run. I'm able to upload files fine using Uppy+Tus but I keep seeing this type of error in the logs: WARN NetworkControlError/NetworkTimeoutError for PATCH request with error "feature not supported"

I'm not sure why these are happening. Maybe you can see from my code? I tried the configurations you see on line 122 but those actually made Tus stop working all together. Is there something I'm missing?

I know the NewHandler is probably recommended over the NewUnroutedHandler and handles everything, but I want to use the datadog muxtrace for observability purposes.

Here is the code for reference: https://gist.github.com/bfrederix/1d88c109c0a5ae07f52f75764b6aa750

Thank you.

Setup details

Acconut commented 2 months ago

There was a similar question a few weeks ago that should help you understand what this error means: https://github.com/tus/tusd/issues/1100

What I assume is that some middleware or router is wrapping the ResponseWriter in a way that does not support the ResponseController, which is necessary for tusd to properly handle timeouts. The corresponding middleware should then be adjusted as mentioned in https://github.com/tus/tusd/issues/1100#issuecomment-2017779204.

I hope this helps! Since this is already the second time someone ran into this, we should add this to the documentation somewhere.

Acconut commented 2 weeks ago

I just added some documentation regarding this issue: https://tus.github.io/tusd/advanced-topics/usage-package/#i-am-getting-warnings-regarding-networkcontrolerrornetworktimeouterror-and-feature-not-supported-why