public void Send(IModelSend senderModel) { if (senderModel == null) { return; } Method = senderModel.Method; var client = new HttpClient { BaseAddress = new Uri(_connection.ServerAddress + senderModel.ApiPath) }; //TODO go to repo and get Token if (_tokenRepo.HeaderModel != null) { client.DefaultRequestHeaders.Add(_tokenRepo.HeaderModel.AccessTokenTitle, _tokenRepo.HeaderModel.AccessToken); client.DefaultRequestHeaders.Add(_tokenRepo.HeaderModel.AcceptLangTitle, _tokenRepo.HeaderModel.AcceptLang); client.DefaultRequestHeaders.Add(_tokenRepo.HeaderModel.ClientTitle, _tokenRepo.HeaderModel.Client); client.DefaultRequestHeaders.Add(_tokenRepo.HeaderModel.UidTitle, _tokenRepo.HeaderModel.Uid); } _tokenSource = new CancellationTokenSource(_sendDelay); _tokenSource.Token.Register(() => { OnException?.Invoke(EResponseState.NoConnection); }); #if DEBUG var api = senderModel.ApiPath; var headers = client.DefaultRequestHeaders.ToString(); var body = senderModel.PerformQuery()?.ToString(); Debug.WriteLine(" * AREST_SEND \nAPI = " + api + "\nHeaders =" + headers + "\nBody = " + body); #endif _connection.Send(client, senderModel.PerformQuery()?.ToString() ?? string.Empty, _tokenSource, senderModel.Method); }
public void Send(IModelSend model) { if (model == null) { return; } if (_websocket.IsOpen) { #if DEBUG Debug.WriteLine(" * ASocket_SEND = " + model.PerformQuery()?.ToString()); #endif _websocket.Send(model.PerformQuery()?.ToString() ?? string.Empty); } else { _websocket.Open(ServerAddress); lock (this) { _messageQueue.Add(model); } } }