| 316 | } |
| 317 | |
| 318 | func canvasProviderSessionID(request any) string { |
| 319 | switch req := request.(type) { |
| 320 | case *rpc.CanvasProviderCloseRequest: |
| 321 | if req != nil { |
| 322 | return req.SessionID |
| 323 | } |
| 324 | case *rpc.CanvasProviderInvokeActionRequest: |
| 325 | if req != nil { |
| 326 | return req.SessionID |
| 327 | } |
| 328 | case *rpc.CanvasProviderOpenRequest: |
| 329 | if req != nil { |
| 330 | return req.SessionID |
| 331 | } |
| 332 | } |
| 333 | return "" |
| 334 | } |
| 335 | |
| 336 | func canvasJSONRPCError(cerr *CanvasError) *jsonrpc2.Error { |
| 337 | data, _ := json.Marshal(map[string]string{ |