288
}
289
290
>
func nexusFailureMetadataToApplicationFailureInfo(failure nexus.Failure) (*failurepb.Failure_ApplicationFailureInfo, error) {
failure.go
291
>
var payloads *commonpb.Payloads
292
>
if len(failure.Metadata) > 0 || len(failure.Details) > 0 {
293
>
// Delete before serializing (note the failure here is passed by value).
294
>
failure.Message = ""
295
>
failure.StackTrace = ""
296
>
data, err := json.Marshal(failure)
297
>
if err != nil {
298
return nil, err
299
}
301
>
Payloads: []*commonpb.Payload{
302
>
{
303
>
Metadata: map[string][]byte{
304
>
"encoding": []byte("json/plain"),
305
>
},
306
>
Data: data,
307
>
},
308
>
},
309
>
}
310
}
311
>
return &failurepb.Failure_ApplicationFailureInfo{
failure.go
312
>
ApplicationFailureInfo: &failurepb.ApplicationFailureInfo{
313
>
Type: "NexusFailure",
314
>
Details: payloads,
315
>
},
316
>
}, nil
317
}
318