@@ -44,6 +44,8 @@ type plusAPIErr struct {
4444 Href string `json:"href"`
4545}
4646
47+ const emptyResponse = "{}"
48+
4749var _ bus.Plugin = (* Resource )(nil )
4850
4951func NewResource (agentConfig * config.Config ) * Resource {
@@ -238,6 +240,7 @@ func (r *Resource) handleUpdateStreamServers(ctx context.Context, action *mpi.NG
238240func (r * Resource ) handleGetStreamUpstreams (ctx context.Context , instance * mpi.Instance ) {
239241 correlationID := logger .GetCorrelationID (ctx )
240242 instanceID := instance .GetInstanceMeta ().GetInstanceId ()
243+ streamUpstreamsResponse := emptyResponse
241244
242245 streamUpstreams , err := r .resourceService .GetStreamUpstreams (ctx , instance )
243246 if err != nil {
@@ -249,13 +252,16 @@ func (r *Resource) handleGetStreamUpstreams(ctx context.Context, instance *mpi.I
249252 return
250253 }
251254
252- streamUpstreamsJSON , err := json .Marshal (streamUpstreams )
253- if err != nil {
254- slog .ErrorContext (ctx , "Unable to marshal stream upstreams" , "err" , err )
255+ if streamUpstreams != nil {
256+ streamUpstreamsJSON , jsonErr := json .Marshal (streamUpstreams )
257+ if jsonErr != nil {
258+ slog .ErrorContext (ctx , "Unable to marshal stream upstreams" , "err" , err )
259+ }
260+ streamUpstreamsResponse = string (streamUpstreamsJSON )
255261 }
256262
257263 resp := r .createDataPlaneResponse (correlationID , mpi .CommandResponse_COMMAND_STATUS_OK ,
258- string ( streamUpstreamsJSON ) , instanceID , "" )
264+ streamUpstreamsResponse , instanceID , "" )
259265
260266 r .messagePipe .Process (ctx , & bus.Message {Topic : bus .DataPlaneResponseTopic , Data : resp })
261267}
@@ -264,6 +270,7 @@ func (r *Resource) handleGetStreamUpstreams(ctx context.Context, instance *mpi.I
264270func (r * Resource ) handleGetUpstreams (ctx context.Context , instance * mpi.Instance ) {
265271 correlationID := logger .GetCorrelationID (ctx )
266272 instanceID := instance .GetInstanceMeta ().GetInstanceId ()
273+ upstreamsResponse := emptyResponse
267274
268275 upstreams , err := r .resourceService .GetUpstreams (ctx , instance )
269276 if err != nil {
@@ -275,13 +282,16 @@ func (r *Resource) handleGetUpstreams(ctx context.Context, instance *mpi.Instanc
275282 return
276283 }
277284
278- upstreamsJSON , err := json .Marshal (upstreams )
279- if err != nil {
280- slog .ErrorContext (ctx , "Unable to marshal upstreams" , "err" , err )
285+ if upstreams != nil {
286+ upstreamsJSON , jsonErr := json .Marshal (upstreams )
287+ if jsonErr != nil {
288+ slog .ErrorContext (ctx , "Unable to marshal upstreams" , "err" , err )
289+ }
290+ upstreamsResponse = string (upstreamsJSON )
281291 }
282292
283293 resp := r .createDataPlaneResponse (correlationID , mpi .CommandResponse_COMMAND_STATUS_OK ,
284- string ( upstreamsJSON ) , instanceID , "" )
294+ upstreamsResponse , instanceID , "" )
285295
286296 r .messagePipe .Process (ctx , & bus.Message {Topic : bus .DataPlaneResponseTopic , Data : resp })
287297}
@@ -321,6 +331,7 @@ func (r *Resource) handleGetHTTPUpstreamServers(ctx context.Context, action *mpi
321331) {
322332 correlationID := logger .GetCorrelationID (ctx )
323333 instanceID := instance .GetInstanceMeta ().GetInstanceId ()
334+ upstreamsResponse := emptyResponse
324335
325336 upstreams , err := r .resourceService .GetHTTPUpstreamServers (ctx , instance ,
326337 action .GetGetHttpUpstreamServers ().GetHttpUpstreamName ())
@@ -333,13 +344,15 @@ func (r *Resource) handleGetHTTPUpstreamServers(ctx context.Context, action *mpi
333344 return
334345 }
335346
336- upstreamsJSON , err := json .Marshal (upstreams )
337- if err != nil {
338- slog .ErrorContext (ctx , "Unable to marshal http upstreams" , "err" , err )
347+ if upstreams != nil {
348+ upstreamsJSON , jsonErr := json .Marshal (upstreams )
349+ if jsonErr != nil {
350+ slog .ErrorContext (ctx , "Unable to marshal http upstreams" , "err" , err )
351+ }
352+ upstreamsResponse = string (upstreamsJSON )
339353 }
340-
341354 resp := r .createDataPlaneResponse (correlationID , mpi .CommandResponse_COMMAND_STATUS_OK ,
342- string ( upstreamsJSON ) , instanceID , "" )
355+ upstreamsResponse , instanceID , "" )
343356
344357 r .messagePipe .Process (ctx , & bus.Message {Topic : bus .DataPlaneResponseTopic , Data : resp })
345358}
0 commit comments