Back to godoc.org
github.com/ipfs/go-ipfs-http-client

package httpapi

v0.0.5
Latest Go to latest
Published: Sep 25, 2019 | License: MIT | Module: github.com/ipfs/go-ipfs-http-client

Index

Constants

const (
	DefaultPathName = ".ipfs"
	DefaultPathRoot = "~/" + DefaultPathName
	DefaultApiFile  = "api"
	EnvDir          = "IPFS_PATH"
)

Variables

var ErrApiNotFound = errors.New("ipfs api address could not be found")

ErrApiNotFound if we fail to find a running daemon.

func ApiAddr

func ApiAddr(ipfspath string) (ma.Multiaddr, error)

ApiAddr reads api file in specified ipfs path

type BlockAPI

type BlockAPI HttpApi

func (*BlockAPI) Get

func (api *BlockAPI) Get(ctx context.Context, p path.Path) (io.Reader, error)

func (*BlockAPI) Put

func (api *BlockAPI) Put(ctx context.Context, r io.Reader, opts ...caopts.BlockPutOption) (iface.BlockStat, error)

func (*BlockAPI) Rm

func (api *BlockAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.BlockRmOption) error

func (*BlockAPI) Stat

func (api *BlockAPI) Stat(ctx context.Context, p path.Path) (iface.BlockStat, error)

type DhtAPI

type DhtAPI HttpApi

func (*DhtAPI) FindPeer

func (api *DhtAPI) FindPeer(ctx context.Context, p peer.ID) (peer.AddrInfo, error)

func (*DhtAPI) FindProviders

func (api *DhtAPI) FindProviders(ctx context.Context, p path.Path, opts ...caopts.DhtFindProvidersOption) (<-chan peer.AddrInfo, error)

func (*DhtAPI) Provide

func (api *DhtAPI) Provide(ctx context.Context, p path.Path, opts ...caopts.DhtProvideOption) error

type Error

type Error = cmds.Error

type HttpApi

type HttpApi struct {
	Headers http.Header
	// contains filtered or unexported fields
}

HttpApi implements github.com/ipfs/interface-go-ipfs-core/CoreAPI using IPFS HTTP API.

For interface docs see https://godoc.org/github.com/ipfs/interface-go-ipfs-core#CoreAPI

func NewApi

func NewApi(a ma.Multiaddr) (*HttpApi, error)

NewApi constructs HttpApi with specified endpoint

func NewApiWithClient

func NewApiWithClient(a ma.Multiaddr, c *gohttp.Client) (*HttpApi, error)

NewApiWithClient constructs HttpApi with specified endpoint and custom http client

func NewLocalApi

func NewLocalApi() (*HttpApi, error)

NewLocalApi tries to construct new HttpApi instance communicating with local IPFS daemon

Daemon api address is pulled from the $IPFS_PATH/api file. If $IPFS_PATH env var is not present, it defaults to ~/.ipfs

func NewPathApi

func NewPathApi(ipfspath string) (*HttpApi, error)

NewPathApi constructs new HttpApi by pulling api address from specified ipfspath. Api file should be located at $ipfspath/api

func NewURLApiWithClient

func NewURLApiWithClient(url string, c *gohttp.Client) (*HttpApi, error)

func (*HttpApi) Block

func (api *HttpApi) Block() iface.BlockAPI

func (*HttpApi) Dag

func (api *HttpApi) Dag() iface.APIDagService

func (*HttpApi) Dht

func (api *HttpApi) Dht() iface.DhtAPI

func (*HttpApi) Key

func (api *HttpApi) Key() iface.KeyAPI

func (*HttpApi) Name

func (api *HttpApi) Name() iface.NameAPI

func (*HttpApi) Object

func (api *HttpApi) Object() iface.ObjectAPI

func (*HttpApi) Pin

func (api *HttpApi) Pin() iface.PinAPI

func (*HttpApi) PubSub

func (api *HttpApi) PubSub() iface.PubSubAPI

func (*HttpApi) Request

func (api *HttpApi) Request(command string, args ...string) RequestBuilder

func (*HttpApi) ResolveNode

func (api *HttpApi) ResolveNode(ctx context.Context, p path.Path) (ipld.Node, error)

func (*HttpApi) ResolvePath

func (api *HttpApi) ResolvePath(ctx context.Context, p path.Path) (path.Resolved, error)

func (*HttpApi) Swarm

func (api *HttpApi) Swarm() iface.SwarmAPI

func (*HttpApi) Unixfs

func (api *HttpApi) Unixfs() iface.UnixfsAPI

func (*HttpApi) WithOptions

func (api *HttpApi) WithOptions(opts ...caopts.ApiOption) (iface.CoreAPI, error)

type HttpDagServ

type HttpDagServ httpNodeAdder

func (*HttpDagServ) Add

func (api *HttpDagServ) Add(ctx context.Context, nd format.Node) error

func (*HttpDagServ) AddMany

func (api *HttpDagServ) AddMany(ctx context.Context, nds []format.Node) error

func (*HttpDagServ) Get

func (api *HttpDagServ) Get(ctx context.Context, c cid.Cid) (format.Node, error)

func (*HttpDagServ) GetMany

func (api *HttpDagServ) GetMany(ctx context.Context, cids []cid.Cid) <-chan *format.NodeOption

func (*HttpDagServ) Pinning

func (api *HttpDagServ) Pinning() format.NodeAdder

func (*HttpDagServ) Remove

func (api *HttpDagServ) Remove(ctx context.Context, c cid.Cid) error

func (*HttpDagServ) RemoveMany

func (api *HttpDagServ) RemoveMany(ctx context.Context, cids []cid.Cid) error

type KeyAPI

type KeyAPI HttpApi

func (*KeyAPI) Generate

func (api *KeyAPI) Generate(ctx context.Context, name string, opts ...caopts.KeyGenerateOption) (iface.Key, error)

func (*KeyAPI) List

func (api *KeyAPI) List(ctx context.Context) ([]iface.Key, error)

func (*KeyAPI) Remove

func (api *KeyAPI) Remove(ctx context.Context, name string) (iface.Key, error)

func (*KeyAPI) Rename

func (api *KeyAPI) Rename(ctx context.Context, oldName string, newName string, opts ...caopts.KeyRenameOption) (iface.Key, bool, error)

func (*KeyAPI) Self

func (api *KeyAPI) Self(ctx context.Context) (iface.Key, error)

type NameAPI

type NameAPI HttpApi

func (*NameAPI) Publish

func (api *NameAPI) Publish(ctx context.Context, p path.Path, opts ...caopts.NamePublishOption) (iface.IpnsEntry, error)

func (*NameAPI) Resolve

func (api *NameAPI) Resolve(ctx context.Context, name string, opts ...caopts.NameResolveOption) (path.Path, error)

func (*NameAPI) Search

func (api *NameAPI) Search(ctx context.Context, name string, opts ...caopts.NameResolveOption) (<-chan iface.IpnsResult, error)

type ObjectAPI

type ObjectAPI HttpApi
func (api *ObjectAPI) AddLink(ctx context.Context, base path.Path, name string, child path.Path, opts ...caopts.ObjectAddLinkOption) (path.Resolved, error)

func (*ObjectAPI) AppendData

func (api *ObjectAPI) AppendData(ctx context.Context, p path.Path, r io.Reader) (path.Resolved, error)

func (*ObjectAPI) Data

func (api *ObjectAPI) Data(ctx context.Context, p path.Path) (io.Reader, error)

func (*ObjectAPI) Diff

func (api *ObjectAPI) Diff(ctx context.Context, a path.Path, b path.Path) ([]iface.ObjectChange, error)

func (*ObjectAPI) Get

func (api *ObjectAPI) Get(ctx context.Context, p path.Path) (ipld.Node, error)
func (api *ObjectAPI) Links(ctx context.Context, p path.Path) ([]*ipld.Link, error)

func (*ObjectAPI) New

func (api *ObjectAPI) New(ctx context.Context, opts ...caopts.ObjectNewOption) (ipld.Node, error)

func (*ObjectAPI) Put

func (api *ObjectAPI) Put(ctx context.Context, r io.Reader, opts ...caopts.ObjectPutOption) (path.Resolved, error)
func (api *ObjectAPI) RmLink(ctx context.Context, base path.Path, link string) (path.Resolved, error)

func (*ObjectAPI) SetData

func (api *ObjectAPI) SetData(ctx context.Context, p path.Path, r io.Reader) (path.Resolved, error)

func (*ObjectAPI) Stat

func (api *ObjectAPI) Stat(ctx context.Context, p path.Path) (*iface.ObjectStat, error)

type PinAPI

type PinAPI HttpApi

func (*PinAPI) Add

func (api *PinAPI) Add(ctx context.Context, p path.Path, opts ...caopts.PinAddOption) error

func (*PinAPI) Ls

func (api *PinAPI) Ls(ctx context.Context, opts ...caopts.PinLsOption) ([]iface.Pin, error)

func (*PinAPI) Rm

func (api *PinAPI) Rm(ctx context.Context, p path.Path, opts ...caopts.PinRmOption) error

func (*PinAPI) Update

func (api *PinAPI) Update(ctx context.Context, from path.Path, to path.Path, opts ...caopts.PinUpdateOption) error

func (*PinAPI) Verify

func (api *PinAPI) Verify(ctx context.Context) (<-chan iface.PinStatus, error)

type PubsubAPI

type PubsubAPI HttpApi

func (*PubsubAPI) Ls

func (api *PubsubAPI) Ls(ctx context.Context) ([]string, error)

func (*PubsubAPI) Peers

func (api *PubsubAPI) Peers(ctx context.Context, opts ...caopts.PubSubPeersOption) ([]peer.ID, error)

func (*PubsubAPI) Publish

func (api *PubsubAPI) Publish(ctx context.Context, topic string, message []byte) error

func (*PubsubAPI) Subscribe

func (api *PubsubAPI) Subscribe(ctx context.Context, topic string, opts ...caopts.PubSubSubscribeOption) (iface.PubSubSubscription, error)

type Request

type Request struct {
	Ctx     context.Context
	ApiBase string
	Command string
	Args    []string
	Opts    map[string]string
	Body    io.Reader
	Headers map[string]string
}

func NewRequest

func NewRequest(ctx context.Context, url, command string, args ...string) *Request

func (*Request) Send

func (r *Request) Send(c *http.Client) (*Response, error)

type RequestBuilder

type RequestBuilder interface {
	Arguments(args ...string) RequestBuilder
	BodyString(body string) RequestBuilder
	BodyBytes(body []byte) RequestBuilder
	Body(body io.Reader) RequestBuilder
	FileBody(body io.Reader) RequestBuilder
	Option(key string, value interface{}) RequestBuilder
	Header(name, value string) RequestBuilder
	Send(ctx context.Context) (*Response, error)
	Exec(ctx context.Context, res interface{}) error
}

type Response

type Response struct {
	Output io.ReadCloser
	Error  *Error
}

func (*Response) Cancel

func (r *Response) Cancel() error

Cancel aborts running request (without draining request body)

func (*Response) Close

func (r *Response) Close() error

type SwarmAPI

type SwarmAPI HttpApi

func (*SwarmAPI) Connect

func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error

func (*SwarmAPI) Disconnect

func (api *SwarmAPI) Disconnect(ctx context.Context, addr multiaddr.Multiaddr) error

func (*SwarmAPI) KnownAddrs

func (api *SwarmAPI) KnownAddrs(ctx context.Context) (map[peer.ID][]multiaddr.Multiaddr, error)

func (*SwarmAPI) ListenAddrs

func (api *SwarmAPI) ListenAddrs(ctx context.Context) ([]multiaddr.Multiaddr, error)

func (*SwarmAPI) LocalAddrs

func (api *SwarmAPI) LocalAddrs(ctx context.Context) ([]multiaddr.Multiaddr, error)

func (*SwarmAPI) Peers

func (api *SwarmAPI) Peers(ctx context.Context) ([]iface.ConnectionInfo, error)

type UnixfsAPI

type UnixfsAPI HttpApi

func (*UnixfsAPI) Add

func (api *UnixfsAPI) Add(ctx context.Context, f files.Node, opts ...caopts.UnixfsAddOption) (path.Resolved, error)

func (*UnixfsAPI) Get

func (api *UnixfsAPI) Get(ctx context.Context, p path.Path) (files.Node, error)

func (*UnixfsAPI) Ls

func (api *UnixfsAPI) Ls(ctx context.Context, p path.Path, opts ...caopts.UnixfsLsOption) (<-chan iface.DirEntry, error)
Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
f or F : Jump to identifier