Skip to content

Latest commit

 

History

History
29 lines (18 loc) · 1.53 KB

README.md

File metadata and controls

29 lines (18 loc) · 1.53 KB

fdb-object-store

A simple object store built on top of FoundationDB. This is only a proof of concept developed for a blog post: Building an object store with FoundationDB.

Running

Requires the FoundationDB Go bindings, follow the instructions here to install. Also requires the Gin web framework. After dependencies have been installed the server can be started with go run main.go.

Using

The object store is dead simple to use and only has two features, uploading files and downloading them.

File uploads are handled by making a POST file upload to /object/path/to/file.txt. Everything after /object/ will be used as the file name, there is no notion of paths or directories but they can be simulated with slashes. When uploading a content type must also be specified with the POST form field content_type.

# Example upload using HTTPie
$ http -f POST localhost:8080/object/images/my_image.png content_type="image/png" file@local_file.png

Downloading an existing file is as simple as making a GET request to the same past as the upload. This can also be done through a browser.

# Example download of previously uploaded file (with HTTPie)
$ http -d GET localhost:8080/object/images/my_image.png

License

All code is licensed under MIT.