minio/cmd/erasure-demo/get.go
2014-12-11 15:35:25 -08:00

51 lines
852 B
Go

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
objectName := c.Args().Get(0)
switch config.storageDriver {
case "fs":
{
if len(objectName) == 0 {
if objectReader, err = fsGetList(config); err != nil {
log.Fatal(err)
}
} else {
if objectReader, err = fsGet(config, objectName); err != nil {
log.Fatal(err)
}
}
}
case "erasure":
{
if len(objectName) == 0 {
if objectReader, err = erasureGetList(config); err != nil {
log.Fatal(err)
}
} else {
if objectReader, err = erasureGet(config, objectName); err != nil {
log.Fatal(err)
}
}
}
default:
{
log.Fatal("Unknown driver")
}
}
io.Copy(os.Stdout, objectReader)
}