/// <summary> /// Default method handler for any method calls which are not implemented /// </summary> /// <param name="methodRequest"></param> /// <param name="userContext"></param> /// <returns></returns> private static Task <MethodResponse> DefaultMethodHandler(MethodRequest methodRequest, object userContext) { Console.WriteLine($"Received method invocation for non-existing method {methodRequest.Name}. Returning 404."); var result = new MethodResponsePayload() { DirectMethodResponse = $"Method {methodRequest.Name} not implemented" }; var outResult = JsonConvert.SerializeObject(result, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes(outResult), 404))); }
/// <summary> /// SkipMessage method handler for any method calls which are not implemented /// </summary> /// <param name="methodRequest"></param> /// <param name="userContext"></param> /// <returns></returns> private static Task <MethodResponse> SkipMessageMethodHandler(MethodRequest methodRequest, object userContext) { Console.WriteLine($"SkipMessage method invocation "); var result = new MethodResponsePayload() { DirectMethodResponse = $"Next message will be skipped." }; Interlocked.Exchange(ref _skipNextMessage, 1); var outResult = JsonConvert.SerializeObject(result, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return(Task.FromResult(new MethodResponse(Encoding.UTF8.GetBytes(outResult), 200))); }