Compare commits

...

2 Commits

Author SHA1 Message Date
ba717cfdb6 Attempt to unmarshal response
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 1m0s
2024-01-07 21:50:02 +01:00
e57d2d9d1d Attempt to match js ipfs 2024-01-07 21:46:25 +01:00

31
main.go
View File

@ -8,6 +8,7 @@ import (
"mime/multipart" "mime/multipart"
"net/http" "net/http"
"net/textproto" "net/textproto"
"net/url"
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
@ -98,14 +99,15 @@ func main() {
body, writer := io.Pipe() body, writer := io.Pipe()
url := fmt.Sprintf("http://%v:%v/api/v0/add", ipfsHost, ipfsPort) targetUrl := fmt.Sprintf("http://%v:%v/api/v0/add", ipfsHost, ipfsPort)
req, err := http.NewRequest(http.MethodPost, url, body) req, err := http.NewRequest(http.MethodPost, targetUrl, body)
if err != nil { if err != nil {
githubactions.Fatalf("Unable to create request: %v", err.Error()) githubactions.Fatalf("Unable to create request: %v", err.Error())
} }
q := req.URL.Query() q := req.URL.Query()
q.Add("wrap-with-directory", "true") q.Add("wrap-with-directory", "true")
q.Add("progress", "false")
req.URL.RawQuery = q.Encode() req.URL.RawQuery = q.Encode()
mwriter := NewIpfsMultipartWriter(writer) mwriter := NewIpfsMultipartWriter(writer)
@ -121,12 +123,13 @@ func main() {
} }
if info.IsDir() { if info.IsDir() {
_, err = mwriter.CreateIpfsDirectoryPart(innerPath) // _, err = mwriter.CreateIpfsDirectoryPart(innerPath)
if err != nil { // if err != nil {
return err // return err
} // }
} else { } else {
w, err := mwriter.CreateIpfsFilePart(innerPath) relPath, _ := filepath.Rel(path, innerPath)
w, err := mwriter.CreateIpfsFilePart(url.QueryEscape(fmt.Sprintf("/%v", relPath)))
if err != nil { if err != nil {
return err return err
} }
@ -164,11 +167,15 @@ func main() {
githubactions.Fatalf(err.Error()) githubactions.Fatalf(err.Error())
} }
githubactions.Infof("Response: %v", string(resBody))
d := json.NewDecoder(res.Body)
for {
var ipfsAddResponse []AddResponse var ipfsAddResponse []AddResponse
json.Unmarshal(resBody, &ipfsAddResponse) if err := d.Decode(&ipfsAddResponse); err == io.EOF {
if err != nil { break
githubactions.Fatalf(err.Error()) } else if err != nil {
githubactions.Warningf("Failed to unmarshal response: %v", fmt.Errorf("%w", err))
}
githubactions.Infof("Received response: %v", ipfsAddResponse)
} }
githubactions.Infof("Response: %v", ipfsAddResponse)
} }