Skip to content
This repository was archived by the owner on Feb 7, 2024. It is now read-only.

Commit 8e37330

Browse files
authored
fix: lazy load version, build correct multipart (#305)
1 parent c845fd8 commit 8e37330

File tree

8 files changed

+99
-36
lines changed

8 files changed

+99
-36
lines changed

add.go

+15-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,11 @@ func CidVersion(version int) AddOpts {
6565
func (s *Shell) Add(r io.Reader, options ...AddOpts) (string, error) {
6666
fr := files.NewReaderFile(r)
6767
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
68-
fileReader := files.NewMultiFileReader(slf, true)
68+
69+
fileReader, err := s.newMultiFileReader(slf)
70+
if err != nil {
71+
return "", err
72+
}
6973

7074
var out object
7175
rb := s.Request("add")
@@ -90,7 +94,11 @@ func (s *Shell) AddWithOpts(r io.Reader, pin bool, rawLeaves bool) (string, erro
9094
func (s *Shell) AddLink(target string) (string, error) {
9195
link := files.NewLinkFile(target, nil)
9296
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", link)})
93-
reader := files.NewMultiFileReader(slf, true)
97+
98+
reader, err := s.newMultiFileReader(slf)
99+
if err != nil {
100+
return "", err
101+
}
94102

95103
var out object
96104
return out.Hash, s.Request("add").Body(reader).Exec(context.Background(), &out)
@@ -108,7 +116,11 @@ func (s *Shell) AddDir(dir string, options ...AddOpts) (string, error) {
108116
return "", err
109117
}
110118
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry(filepath.Base(dir), sf)})
111-
reader := files.NewMultiFileReader(slf, true)
119+
120+
reader, err := s.newMultiFileReader(slf)
121+
if err != nil {
122+
return "", err
123+
}
112124

113125
rb := s.Request("add").Option("recursive", true)
114126
for _, option := range options {

dag.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func (s *Shell) DagPutWithOpts(data interface{}, opts ...options.DagPutOption) (
5151
return "", err
5252
}
5353

54-
fileReader, err := dagToFilesReader(data)
54+
fileReader, err := s.dagToFilesReader(data)
5555
if err != nil {
5656
return "", err
5757
}
@@ -80,7 +80,7 @@ func (s *Shell) DagImportWithOpts(data interface{}, opts ...options.DagImportOpt
8080
return nil, err
8181
}
8282

83-
fileReader, err := dagToFilesReader(data)
83+
fileReader, err := s.dagToFilesReader(data)
8484
if err != nil {
8585
return nil, err
8686
}
@@ -130,7 +130,7 @@ func (s *Shell) DagImportWithOpts(data interface{}, opts ...options.DagImportOpt
130130
return &out, err
131131
}
132132

133-
func dagToFilesReader(data interface{}) (*files.MultiFileReader, error) {
133+
func (s *Shell) dagToFilesReader(data interface{}) (*files.MultiFileReader, error) {
134134
var r io.Reader
135135
switch data := data.(type) {
136136
case *files.MultiFileReader:
@@ -147,7 +147,5 @@ func dagToFilesReader(data interface{}) (*files.MultiFileReader, error) {
147147

148148
fr := files.NewReaderFile(r)
149149
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
150-
fileReader := files.NewMultiFileReader(slf, true)
151-
152-
return fileReader, nil
150+
return s.newMultiFileReader(slf)
153151
}

go.mod

+7-6
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,34 @@ go 1.19
33
module github.com/ipfs/go-ipfs-api
44

55
require (
6+
github.com/blang/semver/v4 v4.0.0
67
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927
7-
github.com/ipfs/boxo v0.8.0
8+
github.com/ipfs/boxo v0.12.0
89
github.com/libp2p/go-libp2p v0.26.3
910
github.com/mitchellh/go-homedir v1.1.0
1011
github.com/multiformats/go-multiaddr v0.8.0
11-
github.com/multiformats/go-multibase v0.1.1
12+
github.com/multiformats/go-multibase v0.2.0
1213
)
1314

1415
require (
1516
github.com/benbjohnson/clock v1.3.0 // indirect
1617
github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect
1718
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
18-
github.com/ipfs/go-cid v0.4.0 // indirect
19+
github.com/ipfs/go-cid v0.4.1 // indirect
1920
github.com/klauspost/cpuid/v2 v2.2.3 // indirect
2021
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
2122
github.com/libp2p/go-flow-metrics v0.1.0 // indirect
2223
github.com/minio/sha256-simd v1.0.0 // indirect
2324
github.com/mr-tron/base58 v1.2.0 // indirect
2425
github.com/multiformats/go-base32 v0.1.0 // indirect
2526
github.com/multiformats/go-base36 v0.2.0 // indirect
26-
github.com/multiformats/go-multicodec v0.8.1 // indirect
27-
github.com/multiformats/go-multihash v0.2.1 // indirect
27+
github.com/multiformats/go-multicodec v0.9.0 // indirect
28+
github.com/multiformats/go-multihash v0.2.3 // indirect
2829
github.com/multiformats/go-multistream v0.4.1 // indirect
2930
github.com/multiformats/go-varint v0.0.7 // indirect
3031
github.com/spaolacci/murmur3 v1.1.0 // indirect
3132
golang.org/x/crypto v0.6.0 // indirect
3233
golang.org/x/sys v0.6.0 // indirect
33-
google.golang.org/protobuf v1.28.1 // indirect
34+
google.golang.org/protobuf v1.30.0 // indirect
3435
lukechampine.com/blake3 v1.1.7 // indirect
3536
)

go.sum

+15-13
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A=
22
github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
3+
github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM=
4+
github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ=
35
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764=
46
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
57
github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 h1:HVTnpeuvF6Owjd5mniCL8DEXo7uYXdQEmOP4FJbV5tg=
@@ -11,10 +13,10 @@ github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0/go.mod h1:DZGJHZMqrU4JJqFAWUS2U
1113
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
1214
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
1315
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
14-
github.com/ipfs/boxo v0.8.0 h1:UdjAJmHzQHo/j3g3b1bAcAXCj/GM6iTwvSlBDvPBNBs=
15-
github.com/ipfs/boxo v0.8.0/go.mod h1:RIsi4CnTyQ7AUsNn5gXljJYZlQrHBMnJp94p73liFiA=
16-
github.com/ipfs/go-cid v0.4.0 h1:a4pdZq0sx6ZSxbCizebnKiMCx/xI/aBBFlB73IgH4rA=
17-
github.com/ipfs/go-cid v0.4.0/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
16+
github.com/ipfs/boxo v0.12.0 h1:AXHg/1ONZdRQHQLgG5JHsSC3XoE4DjCAMgK+asZvUcQ=
17+
github.com/ipfs/boxo v0.12.0/go.mod h1:xAnfiU6PtxWCnRqu7dcXQ10bB5/kvI1kXRotuGqGBhg=
18+
github.com/ipfs/go-cid v0.4.1 h1:A/T3qGvxi4kpKWWcPC/PgbvDA2bjVLO7n4UeVwnbs/s=
19+
github.com/ipfs/go-cid v0.4.1/go.mod h1:uQHwDeX4c6CtyrFwdqyhpNcxVewur1M7l7fNU7LKwZk=
1820
github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
1921
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
2022
github.com/klauspost/cpuid/v2 v2.2.3 h1:sxCkb+qR91z4vsqw4vGGZlDgPz3G7gjaLyK3V8y70BU=
@@ -37,20 +39,20 @@ github.com/multiformats/go-base36 v0.2.0 h1:lFsAbNOGeKtuKozrtBsAkSVhv1p9D0/qedU9
3739
github.com/multiformats/go-base36 v0.2.0/go.mod h1:qvnKE++v+2MWCfePClUEjE78Z7P2a1UV0xHgWc0hkp4=
3840
github.com/multiformats/go-multiaddr v0.8.0 h1:aqjksEcqK+iD/Foe1RRFsGZh8+XFiGo7FgUCZlpv3LU=
3941
github.com/multiformats/go-multiaddr v0.8.0/go.mod h1:Fs50eBDWvZu+l3/9S6xAE7ZYj6yhxlvaVZjakWN7xRs=
40-
github.com/multiformats/go-multibase v0.1.1 h1:3ASCDsuLX8+j4kx58qnJ4YFq/JWTJpCyDW27ztsVTOI=
41-
github.com/multiformats/go-multibase v0.1.1/go.mod h1:ZEjHE+IsUrgp5mhlEAYjMtZwK1k4haNkcaPg9aoe1a8=
42-
github.com/multiformats/go-multicodec v0.8.1 h1:ycepHwavHafh3grIbR1jIXnKCsFm0fqsfEOsJ8NtKE8=
43-
github.com/multiformats/go-multicodec v0.8.1/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k=
44-
github.com/multiformats/go-multihash v0.2.1 h1:aem8ZT0VA2nCHHk7bPJ1BjUbHNciqZC/d16Vve9l108=
45-
github.com/multiformats/go-multihash v0.2.1/go.mod h1:WxoMcYG85AZVQUyRyo9s4wULvW5qrI9vb2Lt6evduFc=
42+
github.com/multiformats/go-multibase v0.2.0 h1:isdYCVLvksgWlMW9OZRYJEa9pZETFivncJHmHnnd87g=
43+
github.com/multiformats/go-multibase v0.2.0/go.mod h1:bFBZX4lKCA/2lyOFSAoKH5SS6oPyjtnzK/XTFDPkNuk=
44+
github.com/multiformats/go-multicodec v0.9.0 h1:pb/dlPnzee/Sxv/j4PmkDRxCOi3hXTz3IbPKOXWJkmg=
45+
github.com/multiformats/go-multicodec v0.9.0/go.mod h1:L3QTQvMIaVBkXOXXtVmYE+LI16i14xuaojr/H7Ai54k=
46+
github.com/multiformats/go-multihash v0.2.3 h1:7Lyc8XfX/IY2jWb/gI7JP+o7JEq9hOa7BFvVU9RSh+U=
47+
github.com/multiformats/go-multihash v0.2.3/go.mod h1:dXgKXCXjBzdscBLk9JkjINiEsCKRVch90MdaGiKsvSM=
4648
github.com/multiformats/go-multistream v0.4.1 h1:rFy0Iiyn3YT0asivDUIR05leAdwZq3de4741sbiSdfo=
4749
github.com/multiformats/go-multistream v0.4.1/go.mod h1:Mz5eykRVAjJWckE2U78c6xqdtyNUEhKSM0Lwar2p77Q=
4850
github.com/multiformats/go-varint v0.0.7 h1:sWSGR+f/eu5ABZA2ZpYKBILXTTs9JWpdEM/nEGOHFS8=
4951
github.com/multiformats/go-varint v0.0.7/go.mod h1:r8PUYw/fD/SjBCiKOoDlGF6QawOELpZAu9eioSos/OU=
5052
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
5153
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
5254
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
53-
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
55+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
5456
golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
5557
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
5658
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -59,8 +61,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
5961
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
6062
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
6163
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
62-
google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
63-
google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
64+
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
65+
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
6466
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
6567
lukechampine.com/blake3 v1.1.7 h1:GgRMhmdsuK8+ii6UZFDL8Nb+VyMwadAgcJyfYHxG6n0=
6668
lukechampine.com/blake3 v1.1.7/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA=

key.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ func (keyImportOpt) AllowAnyKeyType(allow bool) KeyImportOpt {
118118
func (s *Shell) KeyImport(ctx context.Context, name string, key io.Reader, options ...KeyImportOpt) error {
119119
fr := files.NewReaderFile(key)
120120
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
121-
fileReader := files.NewMultiFileReader(slf, true)
121+
fileReader, err := s.newMultiFileReader(slf)
122+
if err != nil {
123+
return err
124+
}
122125

123126
rb := s.Request("key/import", name)
124127
for _, opt := range options {

mfs.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,10 @@ func (s *Shell) FilesStat(ctx context.Context, path string, options ...FilesOpt)
338338
func (s *Shell) FilesWrite(ctx context.Context, path string, data io.Reader, options ...FilesOpt) error {
339339
fr := files.NewReaderFile(data)
340340
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
341-
fileReader := files.NewMultiFileReader(slf, true)
341+
fileReader, err := s.newMultiFileReader(slf)
342+
if err != nil {
343+
return err
344+
}
342345

343346
rb := s.Request("files/write", path)
344347
for _, opt := range options {

shell.go

+46-5
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ import (
1313
"os"
1414
"path"
1515
"strings"
16+
"sync"
1617
"time"
1718

19+
"github.com/blang/semver/v4"
1820
files "github.com/ipfs/boxo/files"
1921
tar "github.com/ipfs/boxo/tar"
2022
homedir "github.com/mitchellh/go-homedir"
@@ -35,6 +37,9 @@ const (
3537
type Shell struct {
3638
url string
3739
httpcli gohttp.Client
40+
41+
versionOnce sync.Once
42+
version *semver.Version
3843
}
3944

4045
func NewLocalShell() *Shell {
@@ -121,6 +126,39 @@ func NewShellWithClient(url string, client *gohttp.Client) *Shell {
121126
return &sh
122127
}
123128

129+
// encodedAbsolutePathVersion is the version from which the absolute path header in
130+
// multipart requests is %-encoded. Before this version, its sent raw.
131+
var encodedAbsolutePathVersion = semver.MustParse("0.23.0-dev")
132+
133+
func (s *Shell) loadRemoteVersion() error {
134+
if s.version == nil {
135+
version, _, err := s.Version()
136+
if err != nil {
137+
return err
138+
}
139+
140+
remoteVersion, err := semver.New(version)
141+
if err != nil {
142+
return err
143+
}
144+
145+
s.versionOnce.Do(func() {
146+
s.version = remoteVersion
147+
})
148+
}
149+
150+
return nil
151+
}
152+
153+
func (s *Shell) newMultiFileReader(dir files.Directory) (*files.MultiFileReader, error) {
154+
err := s.loadRemoteVersion()
155+
if err != nil {
156+
return nil, err
157+
}
158+
159+
return files.NewMultiFileReader(dir, true, s.version.LT(encodedAbsolutePathVersion)), nil
160+
}
161+
124162
func (s *Shell) SetTimeout(d time.Duration) {
125163
s.httpcli.Timeout = d
126164
}
@@ -368,7 +406,7 @@ func (s *Shell) PatchData(root string, set bool, data interface{}) (string, erro
368406

369407
fr := files.NewReaderFile(read)
370408
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
371-
fileReader := files.NewMultiFileReader(slf, true)
409+
fileReader := files.NewMultiFileReader(slf, true, s.version.LT(encodedAbsolutePathVersion))
372410

373411
var out object
374412
return out.Hash, s.Request("object/patch/"+cmd, root).
@@ -470,7 +508,7 @@ func (s *Shell) BlockPut(block []byte, format, mhtype string, mhlen int) (string
470508

471509
fr := files.NewBytesFile(block)
472510
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
473-
fileReader := files.NewMultiFileReader(slf, true)
511+
fileReader := files.NewMultiFileReader(slf, true, s.version.LT(encodedAbsolutePathVersion))
474512

475513
return out.Key, s.Request("block/put").
476514
Option("mhtype", mhtype).
@@ -507,7 +545,7 @@ func (s *Shell) ObjectPut(obj *IpfsObject) (string, error) {
507545

508546
fr := files.NewReaderFile(&data)
509547
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
510-
fileReader := files.NewMultiFileReader(slf, true)
548+
fileReader := files.NewMultiFileReader(slf, true, s.version.LT(encodedAbsolutePathVersion))
511549

512550
var out object
513551
return out.Hash, s.Request("object/put").
@@ -530,10 +568,13 @@ func (s *Shell) PubSubSubscribe(topic string) (*PubSubSubscription, error) {
530568
}
531569

532570
func (s *Shell) PubSubPublish(topic, data string) (err error) {
533-
534571
fr := files.NewReaderFile(bytes.NewReader([]byte(data)))
535572
slf := files.NewSliceDirectory([]files.DirEntry{files.FileEntry("", fr)})
536-
fileReader := files.NewMultiFileReader(slf, true)
573+
574+
fileReader, err := s.newMultiFileReader(slf)
575+
if err != nil {
576+
return err
577+
}
537578

538579
encoder, _ := mbase.EncoderByName("base64url")
539580
resp, err := s.Request("pubsub/pub", encoder.Encode([]byte(topic))).

shell_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,11 @@ func TestDagImportMultipleCARs(t *testing.T) {
496496
files.FileEntry("", files.NewReaderFile(bytes.NewReader(carFile2))),
497497
})
498498

499+
fileReader, err := s.newMultiFileReader(slf)
500+
is.Nil(err)
501+
499502
dagImported, err := s.DagImportWithOpts(
500-
files.NewMultiFileReader(slf, true),
503+
fileReader,
501504
options.Dag.Stats(true),
502505
options.Dag.Silent(false),
503506
)

0 commit comments

Comments
 (0)