Sample Code for Routing Static IP Web Requests through QuotaGuard from Azure Function App

If you find yourself trying to route through QuotaGuard from the Azure function App, we wanted to post this sample code as a possible solution.

var binding = new BasicHttpBinding();

binding.Security.Mode = BasicHttpSecurityMode.Transport;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;

//Wrap binding custombinding to route request through proxy with credential authentication
var customBinding = new CustomBinding(binding);
var httpElement = customBinding.Elements.Find<HttpTransportBindingElement>();
httpElement.ProxyAddress = new Uri(Environment.GetEnvironmentVariable(ProxyURL));
httpElement.ProxyAuthenticationScheme = AuthenticationSchemes.Basic;
httpElement.UseDefaultWebProxy = false;

using (var webClient = new TransparencyPlatformClient(customBinding, FinalEndpoint)
  {
    webClient.ClientCredentials.ClientCertificate.Certificate = Certificate;

    webClient.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode =
      X509CertificateValidationMode.PeerOrChainTrust;
    var xmlString = XmlString(xml);

    webClient.ClientCredentials.UserName.UserName = ProxyUserName;
    webClient.ClientCredentials.UserName.Password = ProxyPassword;

    webClient.sendMessage(YourMessage);
}

We hope this helps, as always, any questions, shoot us an email at Support.