public void UserImmutableThrowsHeader() { Routable routable = this.CreateMessage(); routable.SetHeader("&Nope", "Nope"); Assert.Throws <Kyameru.Core.Exceptions.CoreException>(() => routable.SetHeader("Nope", "yep")); }
public void UserMutableWorks() { Routable routable = this.CreateMessage(); routable.SetHeader("FileType", "txt"); routable.SetHeader("FileType", "jpg"); Assert.AreEqual("jpg", routable.Headers["FileType"]); }
/// <summary> /// Process the incoming message. /// </summary> /// <param name="routable">Routable message.</param> public void Process(Routable routable) { this.OnLog?.Invoke(this, new Log(Microsoft.Extensions.Logging.LogLevel.Debug, Resources.DEBUG_HEADER_DETERMINE)); switch (this.callbackOption) { case 0: this.OnLog?.Invoke(this, new Log(Microsoft.Extensions.Logging.LogLevel.Debug, Resources.DEBUG_HEADER_RUNNING)); routable.SetHeader(this.header, this.value); break; case 1: try { routable.SetHeader(this.header, this.callback()); } catch (Exception ex) { routable.SetInError(this.SetError("Callback", Resources.ERROR_HEADER_CALLBACK)); this.OnLog?.Invoke(this, new Log(Microsoft.Extensions.Logging.LogLevel.Error, Resources.ERROR_HEADER_CALLBACK, ex)); } break; case 2: try { routable.SetHeader(this.header, this.callbackTwo(routable)); } catch (Exception ex) { routable.SetInError(this.SetError("Callback", Resources.ERROR_HEADER_CALLBACK)); this.OnLog?.Invoke(this, new Log(Microsoft.Extensions.Logging.LogLevel.Error, Resources.ERROR_HEADER_CALLBACK, ex)); } break; } }
public void Process(Routable routable) { this.OnLog?.Invoke(this, new Log(Microsoft.Extensions.Logging.LogLevel.Information, "Setting header")); routable.SetHeader("ComponentRan", "Yes"); }
public void CreatedHeaderError() { Routable routable = this.CreateMessage(); Assert.Throws <Kyameru.Core.Exceptions.CoreException>(() => routable.SetHeader("Test", "changed")); }