Skip to content

Commit

Permalink
Merge pull request #1483 from sandrask/issue-1482
Browse files Browse the repository at this point in the history
fix: did:web resolver is not properly encoding port in DID
  • Loading branch information
fqutishat committed Sep 14, 2022
2 parents 5e62f40 + c98aeb3 commit 91b10ac
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pkg/document/webresolver/resolvehandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ func (r *ResolveHandler) ResolveDocument(id string) (*document.ResolutionResult,
return nil, orberrors.ErrContentNotFound
}

webDID := fmt.Sprintf("did:web:%s:scid:%s", r.domain.Host, id)
domainWithPort := strings.ReplaceAll(r.domain.Host, ":", "%3A")

webDID := fmt.Sprintf("did:web:%s:scid:%s", domainWithPort, id)

didWebDoc, err := diddoctransformer.WebDocumentFromOrbDocument(webDID, localResponse)
if err != nil {
Expand Down
27 changes: 27 additions & 0 deletions pkg/document/webresolver/resolvehandler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,33 @@ func TestResolveHandler_Resolve(t *testing.T) {
fmt.Println(string(responseBytes))
})

t.Run("success - host with port", func(t *testing.T) {
rr, err := getTestResolutionResult()
require.NoError(t, err)

delete(rr.Document, document.AlsoKnownAs)

orbResolver := &mocks.OrbResolver{}
orbResolver.ResolveDocumentReturns(rr, nil)

testDomainURLWithPort, err := url.Parse("https://orb.domain1.com:9090")
require.NoError(t, err)

handler := NewResolveHandler(testDomainURLWithPort,
orbPrefix, orbUnpublishedLabel, orbResolver,
&orbmocks.MetricsProvider{})

response, err := handler.ResolveDocument(testSuffix)
require.NoError(t, err)
require.NotNil(t, response)

require.Equal(t, "did:web:orb.domain1.com%3A9090:scid:"+testSuffix, response.Document.ID())
require.Equal(t, response.Document[document.AlsoKnownAs].([]string)[0],
"did:orb:uEiAZPHwtTJ7-rG0nBeD6nqyL3Xsg1IA2BX1n9iGlv5yBJQ:EiBmPHOGe4f8L4_ZVgBg5V343_nDSSX3l6X-9VKRhE57Tw")
require.Equal(t, response.Document[document.AlsoKnownAs].([]string)[1],
"did:orb:hl:uEiAZPHwtTJ7-rG0nBeD6nqyL3Xsg1IA2BX1n9iGlv5yBJQ:uoQ-CeEtodHRwczovL29yYi5kb21haW4xLmNvbS9jYXMvdUVpQVpQSHd0VEo3LXJHMG5CZUQ2bnF5TDNYc2cxSUEyQlgxbjlpR2x2NXlCSlF4QmlwZnM6Ly9iYWZrcmVpYXpocjZjMnRlNjcyd2cyanlmNGQ1ajVsZWwzdjVzYnZlYWd5Y3gyejd3ZWdzMzdoZWJldQ:EiBmPHOGe4f8L4_ZVgBg5V343_nDSSX3l6X-9VKRhE57Tw") //nolint:lll
})

t.Run("success - unpublished did (orb unpublished ID added to also known as)", func(t *testing.T) {
var unpublishedResolutionResult document.ResolutionResult
err := json.Unmarshal([]byte(unpublishedDIDResolutionResult), &unpublishedResolutionResult)
Expand Down

0 comments on commit 91b10ac

Please sign in to comment.