You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
minio/cmd/erasure-demo/get.go

54 lines
913 B

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")
}
}
if objectReader == nil {
log.Fatal("Object not found")
}
io.Copy(os.Stdout, objectReader)
}