Using .NET CLR Types in Azure API Policy

Q

How to use .NET CLR Types in Azure API Policy?

✍: FYIcenter.com

A

By default, Azure imports many basic .NET CLR (Common Language Runtime) types into the API policy execution environment. Imported .NET CLR types can be used in any "@(...)" expressions or "@{...}" expression blocks.

For example, the following "@{...}" expression block retrieves the request header "Authorization" value, performs Base64 decoding on the value, then returns it in UTF8 format:

@{   
    string value;   
    if (context.Request.Headers.TryGetValue("Authorization", out value)) {   
        return Encoding.UTF8.GetString(Convert.FromBase64String(value));
    } else {   
        return null;  
    }
}

Two .NET CLR types are used in the above expression block: "System.Encoding" and "System.Convert".

Here is list of all Imported .NET CLR types:

Newtonsoft.Json.Linq.*
System.Collections.Generic.*
System.Convert
System.DateTime
System.DateTimeKind
System.DateTimeOffset
System.Decimal
System.Double
System.Encoding
System.Guid
System.IEnumerable
System.IEnumerator
System.Int16
System.Int32
System.Int64
System.Linq.Enumerable
System.Math
System.MidpointRounding
System.Nullable
System.Random
System.SByte
System.Security.Cryptography.*
System.Single
System.String
System.StringSplitOptions
System.Text.*
System.TimeSpan
System.Tuple
System.UInt16
System.UInt32
System.UInt64
System.Uri
System.Xml.Linq.*
System.Xml.XmlNodeType

For more information on Imported .NET CLR types, see API Management policy expressions Website.

 

Using Azure API Policy

⇒⇒Microsoft Azure API Management Tutorials

2017-09-23, 115👍, 0💬