forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

appview: use typed request helper for RepoIndexResponse

Changed files
+6 -18
appview
state
knotclient
+2 -16
appview/state/repo.go
···
return
}
-
resp, err := us.Index(f.OwnerDid(), f.RepoName, ref)
+
result, err := us.Index(f.OwnerDid(), f.RepoName, ref)
if err != nil {
s.pages.Error503(w)
log.Println("failed to reach knotserver", err)
-
return
-
}
-
defer resp.Body.Close()
-
-
body, err := io.ReadAll(resp.Body)
-
if err != nil {
-
log.Printf("Error reading response body: %v", err)
-
return
-
}
-
-
var result types.RepoIndexResponse
-
err = json.Unmarshal(body, &result)
-
if err != nil {
-
log.Printf("Error unmarshalling response body: %v", err)
return
}
···
LoggedInUser: user,
RepoInfo: repoInfo,
TagMap: tagMap,
-
RepoIndexResponse: result,
+
RepoIndexResponse: *result,
CommitsTrunc: commitsTrunc,
TagsTrunc: tagsTrunc,
ForkInfo: forkInfo,
+2
knotclient/signer.go
···
"encoding/hex"
"encoding/json"
"fmt"
+
"io"
+
"log"
"net/http"
"net/url"
"time"
+2 -2
knotclient/unsigned.go
···
return &result, nil
}
-
func (us *UnsignedClient) Index(ownerDid, repoName, ref string) (*http.Response, error) {
+
func (us *UnsignedClient) Index(ownerDid, repoName, ref string) (*types.RepoIndexResponse, error) {
const (
Method = "GET"
)
···
return nil, err
}
-
return us.client.Do(req)
+
return do[types.RepoIndexResponse](us, req)
}
func (us *UnsignedClient) Log(ownerDid, repoName, ref string, page int) (*http.Response, error) {