Skip to content

Commit 7504920

Browse files
TheTechmagedbluhm
authored andcommitted
fix: quickstart: Add fixes based upon previous DMP changes
Also added did:web to the default prefix resolver Signed-off-by: Colton Wolkins (Indicio work address) <[email protected]>
1 parent 269fe82 commit 7504920

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

didcomm_messaging/quickstart.py

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from didcomm_messaging.multiformats import multibase, multicodec
2626
from didcomm_messaging.packaging import PackagingService
2727
from didcomm_messaging.resolver import PrefixResolver
28+
from didcomm_messaging.resolver.web import DIDWeb
2829
from didcomm_messaging.resolver.peer import Peer2, Peer4
2930
from didcomm_messaging.routing import RoutingService
3031

@@ -89,22 +90,26 @@ async def setup_default(did: DID, did_secrets: Tuple[Key, Key]) -> DIDCommMessag
8990
#
9091
# At present, the PrefixResolver is used to determine which library should
9192
# be used to convert a DID into a DIDDocument.
92-
resolver = PrefixResolver({"did:peer:2": Peer2(), "did:peer:4": Peer4()})
93+
resolver = PrefixResolver({
94+
"did:peer:2": Peer2(),
95+
"did:peer:4": Peer4(),
96+
"did:web:": DIDWeb(),
97+
})
9398

9499
# The Packaging Service is where a lot of the magic happens. Similar to a
95100
# shipping box, the PackagingService will "pack" and "unpack" an encrypted
96101
# message. When packing a message, the PackagingService will encrypt the
97102
# message to a single target, however. If the message needs to be forwarded
98103
# (because the recipient is behind a relay), then those messages will need
99104
# to be handled by the RoutingService.
100-
packer = PackagingService(resolver, crypto, secrets)
105+
packer = PackagingService()
101106

102107
# The RoutingService handles the routing of messages through relays. When a
103108
# message needs to be forwarded, the RoutingService will handle wrapping
104109
# each encrypted message within a forward message. The built-in
105110
# RoutingService allows for multiple levels of relays, so you don't need to
106111
# worry about how a message is routed to the recipient.
107-
router = RoutingService(packaging=packer, resolver=resolver)
112+
router = RoutingService()
108113

109114
# Once everything is setup, we need to store the DID Secrets within the
110115
# SecretsService. We do this by taking the secrets that were passed in,
@@ -180,10 +185,10 @@ async def send_http_message(
180185

181186
# If the HTTP enpoint responded with a message, decode it
182187
if len(packed) > 0:
183-
unpacked = await dmp.packaging.unpack(packed)
184-
msg = unpacked[0].decode()
188+
unpacked = await dmp.unpack(packed)
189+
msg = unpacked.message
185190
LOG.debug("Raw message from remote %s", msg)
186-
return json.loads(msg)
191+
return msg
187192
return
188193

189194

@@ -396,9 +401,8 @@ async def handle_websocket(
396401
try:
397402
# Unpack/Decrypt the message, decode it, and load the JSON into
398403
# a native python object.
399-
unpacked_message, metadata = await dmp.packaging.unpack(message)
400-
msg = unpacked_message.decode()
401-
msg = json.loads(msg)
404+
unpacked_message = await dmp.unpack(message)
405+
msg = unpacked_message.message
402406
LOG.debug("Received websocket message %s", msg["type"])
403407

404408
# If the message is not from the relay, process it via the callback

0 commit comments

Comments
 (0)