public async Task <IActionResult> OnDeliver([FromBody] OnDeliverPayload request) { var result = await Deliver(request); if (result != null && result is OkOnDeliverResult item) { return(Ok(new { Result = "ok", Modifiers = new { item.Topic, item.Payload, } })); } return(result.GenerateOnDeliverResult()); }
/// <summary> /// This method is called when a message devilered to a subscriber. You can rewrite topic and payload in result. /// To rewrite topic and payload return <see cref="OkOnDeliverResult"/> /// To ignore delivered message return <see cref="NextResult"/> /// For more information <see cref="https://docs.vernemq.com/plugin-development/publishflow#on_deliver-and-on_deliver_m5"/> /// </summary> /// <param name="authOnRegisterPayload">delivered message information</param> /// <returns>Return value musb be one of <see cref="OkResult"/> or <see cref="OkOnDeliverResult"/> or <see cref="NextResult"/></returns> protected virtual async Task <HookResult> Deliver(OnDeliverPayload authOnRegisterPayload) { return(new OkResult()); }