support remote SealPreCommit
This commit is contained in:
+25
-4
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user