support remote SealPreCommit

This commit is contained in:
Łukasz Magiera
2019-11-21 17:10:09 +01:00
parent ba3ad75670
commit 88bbcd80ea
6 changed files with 98 additions and 15 deletions
+25 -4
View File
@@ -8,6 +8,7 @@ import (
"syscall"
logging "github.com/ipfs/go-log"
"github.com/mitchellh/go-homedir"
manet "github.com/multiformats/go-multiaddr-net"
"golang.org/x/xerrors"
"gopkg.in/urfave/cli.v2"
@@ -27,20 +28,40 @@ const (
// ApiConnector returns API instance
type ApiConnector func() api.FullNode
func getAPI(ctx *cli.Context, repoFlag string) (string, http.Header, error) {
r, err := repo.NewFS(ctx.String(repoFlag))
func RepoInfo(ctx *cli.Context, repoFlag string) (string, string, error) {
p, err := homedir.Expand(ctx.String(repoFlag))
if err != nil {
return "", nil, err
return "", "", err
}
r, err := repo.NewFS(p)
if err != nil {
return "", "", err
}
ma, err := r.APIEndpoint()
if err != nil {
return "", nil, xerrors.Errorf("failed to get api endpoint: %w", err)
return "", "", xerrors.Errorf("failed to get api endpoint: %w", err)
}
_, addr, err := manet.DialArgs(ma)
if err != nil {
return "", "", err
}
return p, addr, nil
}
func getAPI(ctx *cli.Context, repoFlag string) (string, http.Header, error) {
rdir, addr, err := RepoInfo(ctx, repoFlag)
if err != nil {
return "", nil, err
}
r, err := repo.NewFS(rdir)
if err != nil {
return "", nil, err
}
var headers http.Header
token, err := r.APIToken()
if err != nil {