in v2/settlehandler.go [85:103]
func NewSettlementHandler(opts *SettlementHandlerOptions, handler Settler) HandlerFunc {
options := &SettlementHandlerOptions{
OnNilSettlement: func() Settlement {
panic("you must return a settlement from the message handler " +
"or override the OnNilSettlement option to handle nil Settlement")
},
}
if opts != nil {
options.OnNilSettlement = opts.OnNilSettlement
}
return func(ctx context.Context, settler MessageSettler, message *azservicebus.ReceivedMessage) {
s := handler(ctx, message)
if s == nil {
// this panics unless the user overrides the OnNilSettlement option
s = options.OnNilSettlement()
}
s.Settle(ctx, settler, message)
}
}