Adding extremely simple fs based get and put in erasure-demo

This commit is contained in:
Frederick F. Kautz IV
2014-12-08 19:40:48 -08:00
parent c2917f0d64
commit d1ebf935da
4 changed files with 183 additions and 25 deletions
+52
View File
@@ -0,0 +1,52 @@
package main
import (
"io"
"log"
"os"
"github.com/codegangsta/cli"
)
func get(c *cli.Context) {
config, err := parseInput(c)
if err != nil {
log.Fatal(err)
}
var objectReader io.Reader
switch config.storageDriver {
case "fs":
{
if objectReader, err = fsGet(config, c.Args().Get(0)); err != nil {
log.Fatal(err)
}
}
default:
{
log.Fatal("Unknown driver")
}
}
io.Copy(os.Stdout, objectReader)
}
func put(c *cli.Context) {
config, err := parseInput(c)
if err != nil {
log.Fatal(err)
}
filePath := c.Args().Get(1)
inputFile, err := os.Open(filePath)
if err != nil {
log.Fatal(err)
}
switch config.storageDriver {
case "fs":
{
fsPut(config, c.Args().Get(0), inputFile)
}
default:
{
log.Fatal("Unknown driver")
}
}
}