protected override async Task ProcessRequestAsync(HttpWebRequest request, Dictionary <string, object> payload) { // only authenticated requests write json, everything uses GET and url params if (CanMakeAuthenticatedRequest(payload)) { request.Headers["Authorization"] = CryptoUtility.BasicAuthenticationString(PublicApiKey.ToUnsecureString(), PrivateApiKey.ToUnsecureString()); if (request.Method == "POST") { await CryptoUtility.WritePayloadJsonToRequestAsync(request, payload); } } }