public static HttpRequest MakeRequest(QueueHttpMessage message) => new HttpRequest() { Method = message.NetMethod, Uri = message.Uri, Content = MakeContent(message), Headers = message.Headers ?? null, Properties = message.Properties ?? null, };
public override async Task MediateAsync(Guid hash, BasicDeliverEventArgs data) { try { string json = this.GetMessage(data); this.logger?.Verbose("{name} [{hash}] message json: {json}", this.GetName(), hash, json); QueueHttpMessage message = this.DeserializeMessage(json); this.logger?.Verbose("{name} [{hash}] message object: {message}", this.GetName(), hash, JsonConvert.SerializeObject(message)); HttpRequest request = HttpFactory.MakeRequest(message); this.logger?.Verbose("{name} [{hash}] request: {request}", this.GetName(), hash, JsonConvert.SerializeObject(request)); await this.sender.SendAsync(request); this.logger?.Debug("{name} [{hash}] request status: {status}!", this.GetName(), hash, "success"); } catch (Exception ex) { this.logger?.Warning(ex, "{name} [{hash}] request status: {status}. Message: {message}", this.GetName(), hash, "fail", ex.Message); } }
private static HttpContent?MakeContent(QueueHttpMessage message) => HttpFactory.ConvertContentTo <QueueHttpMessageContent>(message)?.Type switch {