diff --git a/main.go b/main.go index df7b3dbf7cb9348408dba048068617cb583617bd..dfbc8ddd3992883ef7205dc8b38ac60268c7d5e0 100644 --- a/main.go +++ b/main.go @@ -68,6 +68,9 @@ } func fromWeb(did string) string { slog.Debug("converting did:web", slog.String("did", did)) + if !strings.HasPrefix(did, "did:web:") { + return "" + } return strings.TrimPrefix(did, "did:web:") } @@ -92,10 +95,18 @@ return strings.TrimPrefix(plc.AKA[0], "at://"), nil } func didToHandle(rawDID string) (string, error) { - if strings.HasPrefix(rawDID, "did:web") { - return fromWeb(rawDID), nil + web := fromWeb(rawDID) + if web != "" { + return web, nil } - return fromPLC(rawDID) + plc, err := fromPLC(rawDID) + if err != nil { + return "", err + } + if plc != "" { + return plc, nil + } + return "", fmt.Errorf("could not resolve %q", rawDID) } func maine() error {