MCPcopy Create free account
hub / github.com/Zoo-Code-Org/Zoo-Code / handleUri

Function handleUri

src/activate/handleUri.ts:35–89  ·  view source on GitHub ↗
(uri: vscode.Uri)

Source from the content-addressed store, hash-verified

33}
34
35export const handleUri = async (uri: vscode.Uri) => {
36 const path = uri.path
37 const query = new URLSearchParams(uri.query.replace(/\+/g, "%2B"))
38 const visibleProvider = ClineProvider.getVisibleInstance()
39
40 switch (path) {
41 case "/openrouter": {
42 if (!visibleProvider) return
43 const code = query.get("code")
44 if (code) {
45 await visibleProvider.handleOpenRouterCallback(code)
46 }
47 break
48 }
49 case "/requesty": {
50 if (!visibleProvider) return
51 const code = query.get("code")
52 const baseUrl = query.get("baseUrl")
53 if (code) {
54 await visibleProvider.handleRequestyCallback(code, baseUrl)
55 }
56 break
57 }
58 case "/auth/clerk/callback": {
59 vscode.window.showInformationMessage(getRouterUnavailableSignInMessage())
60 break
61 }
62 case "/auth-callback": {
63 const token = query.get("token")
64 if (token) {
65 // Extract user info from callback URL params
66 // URLSearchParams.get() already decodes percent-encoded values - no need for decodeURIComponent
67 // Use null (not undefined) for missing values to actively clear stale data
68 const name = query.get("name") ?? null
69 const email = query.get("email") ?? null
70 const image = query.get("image") ?? null
71
72 const success = await handleZooCodeAuthCallback(token)
73 if (success) {
74 // Store user info after successful auth validation (regardless of webview visibility)
75 // Always call setZooCodeUserInfo to clear stale data when fields are missing
76 await setZooCodeUserInfo({
77 name,
78 email,
79 image,
80 })
81 await propagateZooGatewayCallback(token)
82 }
83 }
84 break
85 }
86 default:
87 break
88 }
89}

Callers 1

handleUri.spec.tsFile · 0.90

Calls 9

setZooCodeUserInfoFunction · 0.90
getVisibleInstanceMethod · 0.80
replaceMethod · 0.65
getMethod · 0.65

Tested by

no test coverage detected