protected override async Task ProcessRequestAsync(IHttpWebRequest request, Dictionary <string, object> payload) { if (PrivateApiKey != null && PublicApiKey != null) { request.AddHeader("Authorization", CryptoUtility.BasicAuthenticationString(PublicApiKey.ToUnsecureString(), PrivateApiKey.ToUnsecureString())); } if (CanMakeAuthenticatedRequest(payload)) { request.AddHeader("apToken", authenticationDetails.Token); payload.Add("OMSId", authenticationDetails.OMSId); payload.Add("AccountId", authenticationDetails.AccountId); } if (request.Method == "POST") { await request.WritePayloadJsonToRequestAsync(payload); } }