([glsp.Handler] interface)
(context *glsp.Context)
| 94 | |
| 95 | // ([glsp.Handler] interface) |
| 96 | func (self *Handler) Handle(context *glsp.Context) (r any, validMethod bool, validParams bool, err error) { |
| 97 | defer func() { |
| 98 | r := recover() |
| 99 | if r != nil { |
| 100 | recovered := self.Recover(context.Method, r) |
| 101 | if recovered != nil { |
| 102 | err = recovered |
| 103 | } |
| 104 | } |
| 105 | }() |
| 106 | |
| 107 | if !self.IsInitialized() && (context.Method != MethodInitialize) { |
| 108 | return nil, true, true, errors.New("server not initialized") |
| 109 | } |
| 110 | |
| 111 | switch context.Method { |
| 112 | // Base Protocol |
| 113 | |
| 114 | case MethodCancelRequest: |
| 115 | if self.CancelRequest != nil { |
| 116 | validMethod = true |
| 117 | var params CancelParams |
| 118 | if err = json.Unmarshal(context.Params, ¶ms); err == nil { |
| 119 | validParams = true |
| 120 | err = self.CancelRequest(context, ¶ms) |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | case MethodProgress: |
| 125 | if self.Progress != nil { |
| 126 | validMethod = true |
| 127 | var params ProgressParams |
| 128 | if err = json.Unmarshal(context.Params, ¶ms); err == nil { |
| 129 | validParams = true |
| 130 | err = self.Progress(context, ¶ms) |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | // General Messages |
| 135 | |
| 136 | case MethodInitialize: |
| 137 | if self.Initialize != nil { |
| 138 | validMethod = true |
| 139 | var params InitializeParams |
| 140 | if err = json.Unmarshal(context.Params, ¶ms); err == nil { |
| 141 | validParams = true |
| 142 | if r, err = self.Initialize(context, ¶ms); err == nil { |
| 143 | self.SetInitialized(true) |
| 144 | } |
| 145 | } |
| 146 | } |
| 147 | |
| 148 | case MethodInitialized: |
| 149 | if self.Initialized != nil { |
| 150 | validMethod = true |
| 151 | var params InitializedParams |
| 152 | if err = json.Unmarshal(context.Params, ¶ms); err == nil { |
| 153 | validParams = true |
nothing calls this directly
no test coverage detected