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
interface-go-dms3-core
Commits
38ccf055
Commit
38ccf055
authored
Mar 11, 2018
by
Łukasz Magiera
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
coreapi: remove options from interfaces
License: MIT Signed-off-by:
Łukasz Magiera
<
magik6k@gmail.com
>
parent
60fc5696
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
116 additions
and
145 deletions
+116
-145
block.go
block.go
+0
-13
dag.go
dag.go
+0
-18
key.go
key.go
+0
-19
name.go
name.go
+0
-24
object.go
object.go
+0
-28
options/block.go
options/block.go
+13
-4
options/dag.go
options/dag.go
+17
-5
options/key.go
options/key.go
+19
-4
options/name.go
options/name.go
+21
-6
options/object.go
options/object.go
+27
-5
options/pin.go
options/pin.go
+19
-4
pin.go
pin.go
+0
-15
No files found.
block.go
View file @
38ccf055
...
@@ -21,15 +21,6 @@ type BlockAPI interface {
...
@@ -21,15 +21,6 @@ type BlockAPI interface {
// Put imports raw block data, hashing it using specified settings.
// Put imports raw block data, hashing it using specified settings.
Put
(
context
.
Context
,
io
.
Reader
,
...
options
.
BlockPutOption
)
(
Path
,
error
)
Put
(
context
.
Context
,
io
.
Reader
,
...
options
.
BlockPutOption
)
(
Path
,
error
)
// WithFormat is an option for Put which specifies the multicodec to use to
// serialize the object. Default is "v0"
WithFormat
(
codec
string
)
options
.
BlockPutOption
// WithHash is an option for Put which specifies the multihash settings to use
// when hashing the object. Default is mh.SHA2_256 (0x12).
// If mhLen is set to -1, default length for the hash will be used
WithHash
(
mhType
uint64
,
mhLen
int
)
options
.
BlockPutOption
// Get attempts to resolve the path and return a reader for data in the block
// Get attempts to resolve the path and return a reader for data in the block
Get
(
context
.
Context
,
Path
)
(
io
.
Reader
,
error
)
Get
(
context
.
Context
,
Path
)
(
io
.
Reader
,
error
)
...
@@ -40,10 +31,6 @@ type BlockAPI interface {
...
@@ -40,10 +31,6 @@ type BlockAPI interface {
// will be returned
// will be returned
Rm
(
context
.
Context
,
Path
,
...
options
.
BlockRmOption
)
error
Rm
(
context
.
Context
,
Path
,
...
options
.
BlockRmOption
)
error
// WithForce is an option for Rm which, when set to true, will ignore
// non-existing blocks
WithForce
(
force
bool
)
options
.
BlockRmOption
// Stat returns information on
// Stat returns information on
Stat
(
context
.
Context
,
Path
)
(
BlockStat
,
error
)
Stat
(
context
.
Context
,
Path
)
(
BlockStat
,
error
)
}
}
dag.go
View file @
38ccf055
...
@@ -16,27 +16,9 @@ type DagAPI interface {
...
@@ -16,27 +16,9 @@ type DagAPI interface {
// "sha256" are used.
// "sha256" are used.
Put
(
ctx
context
.
Context
,
src
io
.
Reader
,
opts
...
options
.
DagPutOption
)
(
Path
,
error
)
Put
(
ctx
context
.
Context
,
src
io
.
Reader
,
opts
...
options
.
DagPutOption
)
(
Path
,
error
)
// WithInputEnc is an option for Put which specifies the input encoding of the
// data. Default is "json", most formats/codecs support "raw"
WithInputEnc
(
enc
string
)
options
.
DagPutOption
// WithCodec is an option for Put which specifies the multicodec to use to
// serialize the object. Default is cid.DagCBOR (0x71)
WithCodec
(
codec
uint64
)
options
.
DagPutOption
// WithHash is an option for Put which specifies the multihash settings to use
// when hashing the object. Default is based on the codec used
// (mh.SHA2_256 (0x12) for DagCBOR). If mhLen is set to -1, default length for
// the hash will be used
WithHash
(
mhType
uint64
,
mhLen
int
)
options
.
DagPutOption
// Get attempts to resolve and get the node specified by the path
// Get attempts to resolve and get the node specified by the path
Get
(
ctx
context
.
Context
,
path
Path
)
(
ipld
.
Node
,
error
)
Get
(
ctx
context
.
Context
,
path
Path
)
(
ipld
.
Node
,
error
)
// Tree returns list of paths within a node specified by the path.
// Tree returns list of paths within a node specified by the path.
Tree
(
ctx
context
.
Context
,
path
Path
,
opts
...
options
.
DagTreeOption
)
([]
Path
,
error
)
Tree
(
ctx
context
.
Context
,
path
Path
,
opts
...
options
.
DagTreeOption
)
([]
Path
,
error
)
// WithDepth is an option for Tree which specifies maximum depth of the
// returned tree. Default is -1 (no depth limit)
WithDepth
(
depth
int
)
options
.
DagTreeOption
}
}
key.go
View file @
38ccf055
...
@@ -20,29 +20,10 @@ type KeyAPI interface {
...
@@ -20,29 +20,10 @@ type KeyAPI interface {
// name and returns a base58 encoded multihash of it's public key
// name and returns a base58 encoded multihash of it's public key
Generate
(
ctx
context
.
Context
,
name
string
,
opts
...
options
.
KeyGenerateOption
)
(
Key
,
error
)
Generate
(
ctx
context
.
Context
,
name
string
,
opts
...
options
.
KeyGenerateOption
)
(
Key
,
error
)
// WithType is an option for Generate which specifies which algorithm
// should be used for the key. Default is options.RSAKey
//
// Supported key types:
// * options.RSAKey
// * options.Ed25519Key
WithType
(
algorithm
string
)
options
.
KeyGenerateOption
// WithSize is an option for Generate which specifies the size of the key to
// generated. Default is -1
//
// value of -1 means 'use default size for key type':
// * 2048 for RSA
WithSize
(
size
int
)
options
.
KeyGenerateOption
// Rename renames oldName key to newName. Returns the key and whether another
// Rename renames oldName key to newName. Returns the key and whether another
// key was overwritten, or an error
// key was overwritten, or an error
Rename
(
ctx
context
.
Context
,
oldName
string
,
newName
string
,
opts
...
options
.
KeyRenameOption
)
(
Key
,
bool
,
error
)
Rename
(
ctx
context
.
Context
,
oldName
string
,
newName
string
,
opts
...
options
.
KeyRenameOption
)
(
Key
,
bool
,
error
)
// WithForce is an option for Rename which specifies whether to allow to
// replace existing keys.
WithForce
(
force
bool
)
options
.
KeyRenameOption
// List lists keys stored in keystore
// List lists keys stored in keystore
List
(
ctx
context
.
Context
)
([]
Key
,
error
)
List
(
ctx
context
.
Context
)
([]
Key
,
error
)
...
...
name.go
View file @
38ccf055
...
@@ -2,7 +2,6 @@ package iface
...
@@ -2,7 +2,6 @@ package iface
import
(
import
(
"context"
"context"
"time"
options
"github.com/ipfs/go-ipfs/core/coreapi/interface/options"
options
"github.com/ipfs/go-ipfs/core/coreapi/interface/options"
)
)
...
@@ -27,29 +26,6 @@ type NameAPI interface {
...
@@ -27,29 +26,6 @@ type NameAPI interface {
// Publish announces new IPNS name
// Publish announces new IPNS name
Publish
(
ctx
context
.
Context
,
path
Path
,
opts
...
options
.
NamePublishOption
)
(
IpnsEntry
,
error
)
Publish
(
ctx
context
.
Context
,
path
Path
,
opts
...
options
.
NamePublishOption
)
(
IpnsEntry
,
error
)
// WithValidTime is an option for Publish which specifies for how long the
// entry will remain valid. Default value is 24h
WithValidTime
(
validTime
time
.
Duration
)
options
.
NamePublishOption
// WithKey is an option for Publish which specifies the key to use for
// publishing. Default value is "self" which is the node's own PeerID.
// The key parameter must be either PeerID or keystore key alias.
//
// You can use KeyAPI to list and generate more names and their respective keys.
WithKey
(
key
string
)
options
.
NamePublishOption
// Resolve attempts to resolve the newest version of the specified name
// Resolve attempts to resolve the newest version of the specified name
Resolve
(
ctx
context
.
Context
,
name
string
,
opts
...
options
.
NameResolveOption
)
(
Path
,
error
)
Resolve
(
ctx
context
.
Context
,
name
string
,
opts
...
options
.
NameResolveOption
)
(
Path
,
error
)
// WithRecursive is an option for Resolve which specifies whether to perform a
// recursive lookup. Default value is false
WithRecursive
(
recursive
bool
)
options
.
NameResolveOption
// WithLocal is an option for Resolve which specifies if the lookup should be
// offline. Default value is false
WithLocal
(
local
bool
)
options
.
NameResolveOption
// WithCache is an option for Resolve which specifies if cache should be used.
// Default value is true
WithCache
(
cache
bool
)
options
.
NameResolveOption
}
}
object.go
View file @
38ccf055
...
@@ -37,33 +37,9 @@ type ObjectAPI interface {
...
@@ -37,33 +37,9 @@ type ObjectAPI interface {
// New creates new, empty (by default) dag-node.
// New creates new, empty (by default) dag-node.
New
(
context
.
Context
,
...
options
.
ObjectNewOption
)
(
ipld
.
Node
,
error
)
New
(
context
.
Context
,
...
options
.
ObjectNewOption
)
(
ipld
.
Node
,
error
)
// WithType is an option for New which allows to change the type of created
// dag node.
//
// Supported types:
// * 'empty' - Empty node
// * 'unixfs-dir' - Empty UnixFS directory
WithType
(
string
)
options
.
ObjectNewOption
// Put imports the data into merkledag
// Put imports the data into merkledag
Put
(
context
.
Context
,
io
.
Reader
,
...
options
.
ObjectPutOption
)
(
Path
,
error
)
Put
(
context
.
Context
,
io
.
Reader
,
...
options
.
ObjectPutOption
)
(
Path
,
error
)
// WithInputEnc is an option for Put which specifies the input encoding of the
// data. Default is "json".
//
// Supported encodings:
// * "protobuf"
// * "json"
WithInputEnc
(
e
string
)
options
.
ObjectPutOption
// WithDataType specifies the encoding of data field when using Josn or XML
// input encoding.
//
// Supported types:
// * "text" (default)
// * "base64"
WithDataType
(
t
string
)
options
.
ObjectPutOption
// Get returns the node for the path
// Get returns the node for the path
Get
(
context
.
Context
,
Path
)
(
ipld
.
Node
,
error
)
Get
(
context
.
Context
,
Path
)
(
ipld
.
Node
,
error
)
...
@@ -81,10 +57,6 @@ type ObjectAPI interface {
...
@@ -81,10 +57,6 @@ type ObjectAPI interface {
// with WithCreate option).
// with WithCreate option).
AddLink
(
ctx
context
.
Context
,
base
Path
,
name
string
,
child
Path
,
opts
...
options
.
ObjectAddLinkOption
)
(
Path
,
error
)
AddLink
(
ctx
context
.
Context
,
base
Path
,
name
string
,
child
Path
,
opts
...
options
.
ObjectAddLinkOption
)
(
Path
,
error
)
// WithCreate is an option for AddLink which specifies whether create required
// directories for the child
WithCreate
(
create
bool
)
options
.
ObjectAddLinkOption
// RmLink removes a link from the node
// RmLink removes a link from the node
RmLink
(
ctx
context
.
Context
,
base
Path
,
link
string
)
(
Path
,
error
)
RmLink
(
ctx
context
.
Context
,
base
Path
,
link
string
)
(
Path
,
error
)
...
...
options/block.go
View file @
38ccf055
...
@@ -47,16 +47,23 @@ func BlockRmOptions(opts ...BlockRmOption) (*BlockRmSettings, error) {
...
@@ -47,16 +47,23 @@ func BlockRmOptions(opts ...BlockRmOption) (*BlockRmSettings, error) {
return
options
,
nil
return
options
,
nil
}
}
type
B
lockOpt
ion
s
struct
{}
type
b
lockOpts
struct
{}
func
(
api
*
BlockOptions
)
WithFormat
(
codec
string
)
BlockPutOption
{
var
Block
blockOpts
// Format is an option for Block.Put which specifies the multicodec to use to
// serialize the object. Default is "v0"
func
(
_
blockOpts
)
Format
(
codec
string
)
BlockPutOption
{
return
func
(
settings
*
BlockPutSettings
)
error
{
return
func
(
settings
*
BlockPutSettings
)
error
{
settings
.
Codec
=
codec
settings
.
Codec
=
codec
return
nil
return
nil
}
}
}
}
func
(
api
*
BlockOptions
)
WithHash
(
mhType
uint64
,
mhLen
int
)
BlockPutOption
{
// Hash is an option for Block.Put which specifies the multihash settings to use
// when hashing the object. Default is mh.SHA2_256 (0x12).
// If mhLen is set to -1, default length for the hash will be used
func
(
_
blockOpts
)
Hash
(
mhType
uint64
,
mhLen
int
)
BlockPutOption
{
return
func
(
settings
*
BlockPutSettings
)
error
{
return
func
(
settings
*
BlockPutSettings
)
error
{
settings
.
MhType
=
mhType
settings
.
MhType
=
mhType
settings
.
MhLength
=
mhLen
settings
.
MhLength
=
mhLen
...
@@ -64,7 +71,9 @@ func (api *BlockOptions) WithHash(mhType uint64, mhLen int) BlockPutOption {
...
@@ -64,7 +71,9 @@ func (api *BlockOptions) WithHash(mhType uint64, mhLen int) BlockPutOption {
}
}
}
}
func
(
api
*
BlockOptions
)
WithForce
(
force
bool
)
BlockRmOption
{
// Force is an option for Block.Rm which, when set to true, will ignore
// non-existing blocks
func
(
_
blockOpts
)
Force
(
force
bool
)
BlockRmOption
{
return
func
(
settings
*
BlockRmSettings
)
error
{
return
func
(
settings
*
BlockRmSettings
)
error
{
settings
.
Force
=
force
settings
.
Force
=
force
return
nil
return
nil
...
...
options/dag.go
View file @
38ccf055
...
@@ -51,23 +51,33 @@ func DagTreeOptions(opts ...DagTreeOption) (*DagTreeSettings, error) {
...
@@ -51,23 +51,33 @@ func DagTreeOptions(opts ...DagTreeOption) (*DagTreeSettings, error) {
return
options
,
nil
return
options
,
nil
}
}
type
D
agOpt
ion
s
struct
{}
type
d
agOpts
struct
{}
func
(
api
*
DagOptions
)
WithInputEnc
(
enc
string
)
DagPutOption
{
var
Dag
dagOpts
// InputEnc is an option for Dag.Put which specifies the input encoding of the
// data. Default is "json", most formats/codecs support "raw"
func
(
_
dagOpts
)
InputEnc
(
enc
string
)
DagPutOption
{
return
func
(
settings
*
DagPutSettings
)
error
{
return
func
(
settings
*
DagPutSettings
)
error
{
settings
.
InputEnc
=
enc
settings
.
InputEnc
=
enc
return
nil
return
nil
}
}
}
}
func
(
api
*
DagOptions
)
WithCodec
(
codec
uint64
)
DagPutOption
{
// Codec is an option for Dag.Put which specifies the multicodec to use to
// serialize the object. Default is cid.DagCBOR (0x71)
func
(
_
dagOpts
)
Codec
(
codec
uint64
)
DagPutOption
{
return
func
(
settings
*
DagPutSettings
)
error
{
return
func
(
settings
*
DagPutSettings
)
error
{
settings
.
Codec
=
codec
settings
.
Codec
=
codec
return
nil
return
nil
}
}
}
}
func
(
api
*
DagOptions
)
WithHash
(
mhType
uint64
,
mhLen
int
)
DagPutOption
{
// Hash is an option for Dag.Put which specifies the multihash settings to use
// when hashing the object. Default is based on the codec used
// (mh.SHA2_256 (0x12) for DagCBOR). If mhLen is set to -1, default length for
// the hash will be used
func
(
_
dagOpts
)
Hash
(
mhType
uint64
,
mhLen
int
)
DagPutOption
{
return
func
(
settings
*
DagPutSettings
)
error
{
return
func
(
settings
*
DagPutSettings
)
error
{
settings
.
MhType
=
mhType
settings
.
MhType
=
mhType
settings
.
MhLength
=
mhLen
settings
.
MhLength
=
mhLen
...
@@ -75,7 +85,9 @@ func (api *DagOptions) WithHash(mhType uint64, mhLen int) DagPutOption {
...
@@ -75,7 +85,9 @@ func (api *DagOptions) WithHash(mhType uint64, mhLen int) DagPutOption {
}
}
}
}
func
(
api
*
DagOptions
)
WithDepth
(
depth
int
)
DagTreeOption
{
// Depth is an option for Dag.Tree which specifies maximum depth of the
// returned tree. Default is -1 (no depth limit)
func
(
_
dagOpts
)
Depth
(
depth
int
)
DagTreeOption
{
return
func
(
settings
*
DagTreeSettings
)
error
{
return
func
(
settings
*
DagTreeSettings
)
error
{
settings
.
Depth
=
depth
settings
.
Depth
=
depth
return
nil
return
nil
...
...
options/key.go
View file @
38ccf055
...
@@ -48,23 +48,38 @@ func KeyRenameOptions(opts ...KeyRenameOption) (*KeyRenameSettings, error) {
...
@@ -48,23 +48,38 @@ func KeyRenameOptions(opts ...KeyRenameOption) (*KeyRenameSettings, error) {
return
options
,
nil
return
options
,
nil
}
}
type
K
eyOpt
ion
s
struct
{}
type
k
eyOpts
struct
{}
func
(
api
*
KeyOptions
)
WithType
(
algorithm
string
)
KeyGenerateOption
{
var
Key
keyOpts
// Type is an option for Key.Generate which specifies which algorithm
// should be used for the key. Default is options.RSAKey
//
// Supported key types:
// * options.RSAKey
// * options.Ed25519Key
func
(
_
keyOpts
)
Type
(
algorithm
string
)
KeyGenerateOption
{
return
func
(
settings
*
KeyGenerateSettings
)
error
{
return
func
(
settings
*
KeyGenerateSettings
)
error
{
settings
.
Algorithm
=
algorithm
settings
.
Algorithm
=
algorithm
return
nil
return
nil
}
}
}
}
func
(
api
*
KeyOptions
)
WithSize
(
size
int
)
KeyGenerateOption
{
// Size is an option for Key.Generate which specifies the size of the key to
// generated. Default is -1
//
// value of -1 means 'use default size for key type':
// * 2048 for RSA
func
(
_
keyOpts
)
Size
(
size
int
)
KeyGenerateOption
{
return
func
(
settings
*
KeyGenerateSettings
)
error
{
return
func
(
settings
*
KeyGenerateSettings
)
error
{
settings
.
Size
=
size
settings
.
Size
=
size
return
nil
return
nil
}
}
}
}
func
(
api
*
KeyOptions
)
WithForce
(
force
bool
)
KeyRenameOption
{
// Force is an option for Key.Rename which specifies whether to allow to
// replace existing keys.
func
(
_
keyOpts
)
Force
(
force
bool
)
KeyRenameOption
{
return
func
(
settings
*
KeyRenameSettings
)
error
{
return
func
(
settings
*
KeyRenameSettings
)
error
{
settings
.
Force
=
force
settings
.
Force
=
force
return
nil
return
nil
...
...
options/name.go
View file @
38ccf055
...
@@ -55,37 +55,52 @@ func NameResolveOptions(opts ...NameResolveOption) (*NameResolveSettings, error)
...
@@ -55,37 +55,52 @@ func NameResolveOptions(opts ...NameResolveOption) (*NameResolveSettings, error)
return
options
,
nil
return
options
,
nil
}
}
type
N
ameOpt
ion
s
struct
{}
type
n
ameOpts
struct
{}
func
(
api
*
NameOptions
)
WithValidTime
(
validTime
time
.
Duration
)
NamePublishOption
{
var
Name
nameOpts
// ValidTime is an option for Name.Publish which specifies for how long the
// entry will remain valid. Default value is 24h
func
(
_
nameOpts
)
ValidTime
(
validTime
time
.
Duration
)
NamePublishOption
{
return
func
(
settings
*
NamePublishSettings
)
error
{
return
func
(
settings
*
NamePublishSettings
)
error
{
settings
.
ValidTime
=
validTime
settings
.
ValidTime
=
validTime
return
nil
return
nil
}
}
}
}
func
(
api
*
NameOptions
)
WithKey
(
key
string
)
NamePublishOption
{
// Key is an option for Name.Publish which specifies the key to use for
// publishing. Default value is "self" which is the node's own PeerID.
// The key parameter must be either PeerID or keystore key alias.
//
// You can use KeyAPI to list and generate more names and their respective keys.
func
(
_
nameOpts
)
Key
(
key
string
)
NamePublishOption
{
return
func
(
settings
*
NamePublishSettings
)
error
{
return
func
(
settings
*
NamePublishSettings
)
error
{
settings
.
Key
=
key
settings
.
Key
=
key
return
nil
return
nil
}
}
}
}
func
(
api
*
NameOptions
)
WithRecursive
(
recursive
bool
)
NameResolveOption
{
// Recursive is an option for Name.Resolve which specifies whether to perform a
// recursive lookup. Default value is false
func
(
_
nameOpts
)
Recursive
(
recursive
bool
)
NameResolveOption
{
return
func
(
settings
*
NameResolveSettings
)
error
{
return
func
(
settings
*
NameResolveSettings
)
error
{
settings
.
Recursive
=
recursive
settings
.
Recursive
=
recursive
return
nil
return
nil
}
}
}
}
func
(
api
*
NameOptions
)
WithLocal
(
local
bool
)
NameResolveOption
{
// Local is an option for Name.Resolve which specifies if the lookup should be
// offline. Default value is false
func
(
_
nameOpts
)
Local
(
local
bool
)
NameResolveOption
{
return
func
(
settings
*
NameResolveSettings
)
error
{
return
func
(
settings
*
NameResolveSettings
)
error
{
settings
.
Local
=
local
settings
.
Local
=
local
return
nil
return
nil
}
}
}
}
func
(
api
*
NameOptions
)
WithCache
(
cache
bool
)
NameResolveOption
{
// Cache is an option for Name.Resolve which specifies if cache should be used.
// Default value is true
func
(
_
nameOpts
)
Cache
(
cache
bool
)
NameResolveOption
{
return
func
(
settings
*
NameResolveSettings
)
error
{
return
func
(
settings
*
NameResolveSettings
)
error
{
settings
.
Cache
=
cache
settings
.
Cache
=
cache
return
nil
return
nil
...
...
options/object.go
View file @
38ccf055
...
@@ -60,30 +60,52 @@ func ObjectAddLinkOptions(opts ...ObjectAddLinkOption) (*ObjectAddLinkSettings,
...
@@ -60,30 +60,52 @@ func ObjectAddLinkOptions(opts ...ObjectAddLinkOption) (*ObjectAddLinkSettings,
return
options
,
nil
return
options
,
nil
}
}
type
O
bjectOpt
ion
s
struct
{}
type
o
bjectOpts
struct
{}
func
(
api
*
ObjectOptions
)
WithType
(
t
string
)
ObjectNewOption
{
var
Object
objectOpts
// Type is an option for Object.New which allows to change the type of created
// dag node.
//
// Supported types:
// * 'empty' - Empty node
// * 'unixfs-dir' - Empty UnixFS directory
func
(
_
objectOpts
)
Type
(
t
string
)
ObjectNewOption
{
return
func
(
settings
*
ObjectNewSettings
)
error
{
return
func
(
settings
*
ObjectNewSettings
)
error
{
settings
.
Type
=
t
settings
.
Type
=
t
return
nil
return
nil
}
}
}
}
func
(
api
*
ObjectOptions
)
WithInputEnc
(
e
string
)
ObjectPutOption
{
// InputEnc is an option for Object.Put which specifies the input encoding of the
// data. Default is "json".
//
// Supported encodings:
// * "protobuf"
// * "json"
func
(
_
objectOpts
)
InputEnc
(
e
string
)
ObjectPutOption
{
return
func
(
settings
*
ObjectPutSettings
)
error
{
return
func
(
settings
*
ObjectPutSettings
)
error
{
settings
.
InputEnc
=
e
settings
.
InputEnc
=
e
return
nil
return
nil
}
}
}
}
func
(
api
*
ObjectOptions
)
WithDataType
(
t
string
)
ObjectPutOption
{
// DataType is an option for Object.Put which specifies the encoding of data
// field when using Json or XML input encoding.
//
// Supported types:
// * "text" (default)
// * "base64"
func
(
_
objectOpts
)
DataType
(
t
string
)
ObjectPutOption
{
return
func
(
settings
*
ObjectPutSettings
)
error
{
return
func
(
settings
*
ObjectPutSettings
)
error
{
settings
.
DataType
=
t
settings
.
DataType
=
t
return
nil
return
nil
}
}
}
}
func
(
api
*
ObjectOptions
)
WithCreate
(
create
bool
)
ObjectAddLinkOption
{
// Create is an option for Object.AddLink which specifies whether create required
// directories for the child
func
(
_
objectOpts
)
Create
(
create
bool
)
ObjectAddLinkOption
{
return
func
(
settings
*
ObjectAddLinkSettings
)
error
{
return
func
(
settings
*
ObjectAddLinkSettings
)
error
{
settings
.
Create
=
create
settings
.
Create
=
create
return
nil
return
nil
...
...
options/pin.go
View file @
38ccf055
...
@@ -61,23 +61,38 @@ func PinUpdateOptions(opts ...PinUpdateOption) (*PinUpdateSettings, error) {
...
@@ -61,23 +61,38 @@ func PinUpdateOptions(opts ...PinUpdateOption) (*PinUpdateSettings, error) {
return
options
,
nil
return
options
,
nil
}
}
type
P
inOpt
ion
s
struct
{}
type
p
inOpts
struct
{}
func
(
api
*
PinOptions
)
WithRecursive
(
recucsive
bool
)
PinAddOption
{
var
Pin
pinOpts
// Recursive is an option for Pin.Add which specifies whether to pin an entire
// object tree or just one object. Default: true
func
(
_
pinOpts
)
Recursive
(
recucsive
bool
)
PinAddOption
{
return
func
(
settings
*
PinAddSettings
)
error
{
return
func
(
settings
*
PinAddSettings
)
error
{
settings
.
Recursive
=
recucsive
settings
.
Recursive
=
recucsive
return
nil
return
nil
}
}
}
}
func
(
api
*
PinOptions
)
WithType
(
t
string
)
PinLsOption
{
// Type is an option for Pin.Ls which allows to specify which pin types should
// be returned
//
// Supported values:
// * "direct" - directly pinned objects
// * "recursive" - roots of recursive pins
// * "indirect" - indirectly pinned objects (referenced by recursively pinned
// objects)
// * "all" - all pinned objects (default)
func
(
_
pinOpts
)
Type
(
t
string
)
PinLsOption
{
return
func
(
settings
*
PinLsSettings
)
error
{
return
func
(
settings
*
PinLsSettings
)
error
{
settings
.
Type
=
t
settings
.
Type
=
t
return
nil
return
nil
}
}
}
}
func
(
api
*
PinOptions
)
WithUnpin
(
unpin
bool
)
PinUpdateOption
{
// Unpin is an option for Pin.Update which specifies whether to remove the old pin.
// Default is true.
func
(
_
pinOpts
)
Unpin
(
unpin
bool
)
PinUpdateOption
{
return
func
(
settings
*
PinUpdateSettings
)
error
{
return
func
(
settings
*
PinUpdateSettings
)
error
{
settings
.
Unpin
=
unpin
settings
.
Unpin
=
unpin
return
nil
return
nil
...
...
pin.go
View file @
38ccf055
...
@@ -39,24 +39,9 @@ type PinAPI interface {
...
@@ -39,24 +39,9 @@ type PinAPI interface {
// tree
// tree
Add
(
context
.
Context
,
Path
,
...
options
.
PinAddOption
)
error
Add
(
context
.
Context
,
Path
,
...
options
.
PinAddOption
)
error
// WithRecursive is an option for Add which specifies whether to pin an entire
// object tree or just one object. Default: true
WithRecursive
(
bool
)
options
.
PinAddOption
// Ls returns list of pinned objects on this node
// Ls returns list of pinned objects on this node
Ls
(
context
.
Context
,
...
options
.
PinLsOption
)
([]
Pin
,
error
)
Ls
(
context
.
Context
,
...
options
.
PinLsOption
)
([]
Pin
,
error
)
// WithType is an option for Ls which allows to specify which pin types should
// be returned
//
// Supported values:
// * "direct" - directly pinned objects
// * "recursive" - roots of recursive pins
// * "indirect" - indirectly pinned objects (referenced by recursively pinned
// objects)
// * "all" - all pinned objects (default)
WithType
(
string
)
options
.
PinLsOption
// Rm removes pin for object specified by the path
// Rm removes pin for object specified by the path
Rm
(
context
.
Context
,
Path
)
error
Rm
(
context
.
Context
,
Path
)
error
...
...
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