mirror of
https://github.com/ipfs/kubo.git
synced 2025-06-18 00:55:48 +08:00
docs/coreapi: Add some documentation to CoreAPI
License: MIT Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
This commit is contained in:
@ -15,6 +15,7 @@ type CoreAPI struct {
|
|||||||
node *core.IpfsNode
|
node *core.IpfsNode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewCoreAPI creates new instance of IPFS CoreAPI backed by go-ipfs Node
|
||||||
func NewCoreAPI(n *core.IpfsNode) coreiface.CoreAPI {
|
func NewCoreAPI(n *core.IpfsNode) coreiface.CoreAPI {
|
||||||
api := &CoreAPI{n}
|
api := &CoreAPI{n}
|
||||||
return api
|
return api
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// Package iface defines IPFS Core API which is a set of interfaces used to
|
||||||
|
// interact with IPFS nodes.
|
||||||
package iface
|
package iface
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@ -9,6 +11,8 @@ import (
|
|||||||
ipld "gx/ipfs/QmPN7cwmpcc4DWXb4KTB9dNAJgjuPY69h3npsMfhRrQL9c/go-ipld-format"
|
ipld "gx/ipfs/QmPN7cwmpcc4DWXb4KTB9dNAJgjuPY69h3npsMfhRrQL9c/go-ipld-format"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Path is a generic wrapper for paths used in the API. A path can be resolved
|
||||||
|
// to a CID using one of Resolve functions in the API.
|
||||||
type Path interface {
|
type Path interface {
|
||||||
String() string
|
String() string
|
||||||
Cid() *cid.Cid
|
Cid() *cid.Cid
|
||||||
@ -26,15 +30,28 @@ type Reader interface {
|
|||||||
io.Closer
|
io.Closer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CoreAPI defines an unified interface to IPFS for Go programs.
|
||||||
type CoreAPI interface {
|
type CoreAPI interface {
|
||||||
|
// Unixfs returns an implementation of Unixfs API
|
||||||
Unixfs() UnixfsAPI
|
Unixfs() UnixfsAPI
|
||||||
|
|
||||||
|
// ResolvePath resolves the path using Unixfs resolver
|
||||||
ResolvePath(context.Context, Path) (Path, error)
|
ResolvePath(context.Context, Path) (Path, error)
|
||||||
|
|
||||||
|
// ResolveNode resolves the path (if not resolved already) using Unixfs
|
||||||
|
// resolver, gets and returns the resolved Node
|
||||||
ResolveNode(context.Context, Path) (Node, error)
|
ResolveNode(context.Context, Path) (Node, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UnixfsAPI is the basic interface to immutable files in IPFS
|
||||||
type UnixfsAPI interface {
|
type UnixfsAPI interface {
|
||||||
|
// Add imports the data from the reader into merkledag file
|
||||||
Add(context.Context, io.Reader) (Path, error)
|
Add(context.Context, io.Reader) (Path, error)
|
||||||
|
|
||||||
|
// Cat returns a reader for the file
|
||||||
Cat(context.Context, Path) (Reader, error)
|
Cat(context.Context, Path) (Reader, error)
|
||||||
|
|
||||||
|
// Ls returns the list of links in a directory
|
||||||
Ls(context.Context, Path) ([]*Link, error)
|
Ls(context.Context, Path) ([]*Link, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user