* swarm/api: url scheme bzz-hash to get hashes of swarm content (#15238) Update URI to support bzz-hash scheme and handle such HTTP requests by responding with hash of the content as a text/plain response. * swarm/api: return hash of the content for bzz-hash:// requests * swarm/api: revert "return hash of the content for bzz-hash:// requests" Return hashes of the content that would be returned by bzz-raw request. * swarm/api/http: handle error in TestBzzGetPath * swarm/api: remove extra blank line in comment
This commit is contained in:
committed by
Péter Szilágyi
parent
5258785c81
commit
542d51895f
@ -33,7 +33,7 @@ import (
|
||||
"github.com/ethereum/go-ethereum/swarm/testutil"
|
||||
)
|
||||
|
||||
func TestBzzrGetPath(t *testing.T) {
|
||||
func TestBzzGetPath(t *testing.T) {
|
||||
|
||||
var err error
|
||||
|
||||
@ -104,6 +104,38 @@ func TestBzzrGetPath(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range testrequests {
|
||||
var resp *http.Response
|
||||
var respbody []byte
|
||||
|
||||
url := srv.URL + "/bzz-hash:/"
|
||||
if k[:] != "" {
|
||||
url += common.ToHex(key[0])[2:] + "/" + k[1:]
|
||||
}
|
||||
resp, err = http.Get(url)
|
||||
if err != nil {
|
||||
t.Fatalf("Request failed: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
respbody, err = ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
t.Fatalf("Read request body: %v", err)
|
||||
}
|
||||
|
||||
if string(respbody) != key[v].String() {
|
||||
isexpectedfailrequest := false
|
||||
|
||||
for _, r := range expectedfailrequests {
|
||||
if k[:] == r {
|
||||
isexpectedfailrequest = true
|
||||
}
|
||||
}
|
||||
if !isexpectedfailrequest {
|
||||
t.Fatalf("Response body does not match, expected: %v, got %v", key[v], string(respbody))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for _, c := range []struct {
|
||||
path string
|
||||
json string
|
||||
@ -197,6 +229,7 @@ func TestBzzrGetPath(t *testing.T) {
|
||||
srv.URL + "/bzz-immutable:/nonhash",
|
||||
srv.URL + "/bzz-raw:/nonhash",
|
||||
srv.URL + "/bzz-list:/nonhash",
|
||||
srv.URL + "/bzz-hash:/nonhash",
|
||||
}
|
||||
|
||||
nonhashresponses := []string{
|
||||
@ -204,6 +237,7 @@ func TestBzzrGetPath(t *testing.T) {
|
||||
"error resolving nonhash: immutable address not a content hash: "nonhash"",
|
||||
"error resolving nonhash: no DNS to resolve name: "nonhash"",
|
||||
"error resolving nonhash: no DNS to resolve name: "nonhash"",
|
||||
"error resolving nonhash: no DNS to resolve name: "nonhash"",
|
||||
}
|
||||
|
||||
for i, url := range nonhashtests {
|
||||
|
Reference in New Issue
Block a user