HttpClient Wrapper supports ignoring invalid/self-signed certs
bool ignoreCertificateErrors = ConfigurationManager.AppSettings["IgnoreCertificateErrors"].ToBool();
string environmentName = ConfigurationManager.AppSettings["EnvironmentName"];



These two lines I think shouldn't be there because with them, the wrapper is tigthly coupled to the app.config.

I see three possibilities how you can decouple the wrapper:


make both values constructor parameters if they shouldn't change
make them properties if they can
use the UnityCommon service locator that you use in the SendAsync method and let it resolve some ConfigProvider from which you can get both settings.





environmentName.ToUpper() != "PRODUCTION"



Usually in situations like this it's safer to use a  case insensitive comparison

environmentName.Equals("PRODUCTION", StringComparison.OrdinalIgnoreCase)