Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
098edb30
Commit
098edb30
authored
10 years ago
by
Brian Tiger Chow
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add s3 datastore
parent
bcfa5392
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
45 additions
and
0 deletions
+45
-0
thirdparty/s3-datastore/foo.go
thirdparty/s3-datastore/foo.go
+45
-0
No files found.
thirdparty/s3-datastore/foo.go
0 → 100644
View file @
098edb30
package
s3datastore
import
(
"errors"
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/crowdmob/goamz/s3"
datastore
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore"
query
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-datastore/query"
)
var
_
datastore
.
Datastore
=
&
S3Datastore
{}
var
errTODO
=
errors
.
New
(
"TODO"
)
var
ErrInvalidType
=
errors
.
New
(
"s3 datastore: invalid type error"
)
type
S3Datastore
struct
{
Client
*
s3
.
S3
Bucket
string
}
func
(
ds
*
S3Datastore
)
Put
(
key
datastore
.
Key
,
value
interface
{})
(
err
error
)
{
data
,
ok
:=
value
.
([]
byte
)
if
!
ok
{
return
ErrInvalidType
}
// TODO extract perms and s3 options
return
ds
.
Client
.
Bucket
(
ds
.
Bucket
)
.
Put
(
key
.
String
(),
data
,
"application/protobuf"
,
s3
.
PublicRead
,
s3
.
Options
{})
}
func
(
ds
*
S3Datastore
)
Get
(
key
datastore
.
Key
)
(
value
interface
{},
err
error
)
{
return
ds
.
Client
.
Bucket
(
ds
.
Bucket
)
.
Get
(
key
.
String
())
}
func
(
ds
*
S3Datastore
)
Has
(
key
datastore
.
Key
)
(
exists
bool
,
err
error
)
{
return
ds
.
Client
.
Bucket
(
ds
.
Bucket
)
.
Exists
(
key
.
String
())
}
func
(
ds
*
S3Datastore
)
Delete
(
key
datastore
.
Key
)
(
err
error
)
{
return
ds
.
Client
.
Bucket
(
ds
.
Bucket
)
.
Del
(
key
.
String
())
}
func
(
ds
*
S3Datastore
)
Query
(
q
query
.
Query
)
(
query
.
Results
,
error
)
{
return
nil
,
errors
.
New
(
"TODO implement query for s3 datastore?"
)
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment