transloadit / uppy

The next open source file uploader for web browsers :dog:

Home Page:https://uppy.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go implementation of Companion

mitar opened this issue · comments

Initial checklist

  • I understand this is a feature request and questions should be posted in the Community Forum
  • I searched issues and couldn’t find anything (or linked relevant results below)

Problem

I am trying to use tusd as embedded library inside my Go app and I also wanted to use Uppy, but it looks like Uppy's Companion is implemented in node (with a downside of being single threaded) which I cannot embed.

Solution

It would be great if there was a Go Companion implementation I could use. Or if there would be more documentation on the protocol of interaction expected by the Companion so that it would be possible to do implementation myself.

Alternatives

I could a standalone Companion, but then this complicates my deployment.

I actually have a WIP version of Companion in Go locally. But it's quite different so not compatible with Uppy without big changes on Uppy's side, it's also my personal effort not one officially from the team, and I doubt it will be prioritised.

Companion is battle-tested and serves millions of requests globally at Transloadit and other companies. For the foreseeable future it is your best option regardless.