Skip to content

fabianlindfors/fdb-object-store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

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.

Releases

No releases published

Packages

No packages published

Languages