Tools, FAQ, Tutorials:
Policy to Set and Get Custom Variables
How to write a policy to set and get custom variables?
✍: FYIcenter.com
Here is a policy that sets and gets custom variables:
<!-- Set-Get-Variable-Policy.xml Copyright (c) FYIcenter.com --> <policies> <inbound> <set-variable name="version" value="1.11" /> <set-variable name="method" value="@(context.Request.Method)" /> <set-variable name="message" value="@("Hello world!")" /> <set-variable name="isTrue" value="@(1 < 2)" /> <set-variable name="name" value="@("John & Sons")" /> <set-variable name="entity" value="@("& = &")" /> </inbound> <backend> </backend> <outbound> <return-response> <set-status code="200" reason="Ok" /> <set-body>@{ var res = ""; res = res + "version: "+context.Variables["version"]+"\n"; res = res + "method: "+context.Variables["method"]+"\n"; res = res + "message: "+context.Variables["message"]+"\n"; res = res + "isTrue: "+context.Variables["isTrue"]+"\n"; res = res + "name: "+context.Variables["name"]+"\n"; res = res + "entity: "+context.Variables["entity"]+"\n"; return res; }</set-body> </return-response> </outbound> <on-error> </on-error> </policies>
Note that < and & signs can be directly used in @(...) expressions, which seems be to processed before Azure validating the policy as XML document.
Also note that XML entities will be decoded before the @(...) expression gets processed. So entering in < or < in a @(...) expression gives the same result.
⇒ 2017 Version of API Management Services
2017-10-23, 2755🔥, 0💬
Popular Posts:
Where to find tutorials on Using Azure API Management Publisher Dashboard? Here is a list of tutoria...
How to create a new API on the Publisher Dashboard of an Azure API Management Service? If you are ne...
Where to find tutorials on API Management Services at Azure Portal? Here is a list of tutorials to a...
How to use the "return-response" Policy statement to build the response from scratch for an Azure AP...
How to access Request body from "context.Request.Body" object in Azure API Policy? Request body is t...