Citrix Systems Network Router 9.2 User Manual

Page of 302
C
HAPTER
  11
Advanced Policies: Sending HTTP 
Service Callouts to Applications
You can use HTTP callouts to obtain information from external applications. For 
example, if a server makes a request, you can use an HTTP callout to determine if 
this server is on a “deny access” list. The callout policy sends an HTTP request to 
an external application. An agent that you deploy in front of the application 
formats the request for the application. When the application returns a response, 
the agent formats the response for the NetScaler, and the callout policy extracts 
data of interest from the response. For example, you can configure a callout that 
sends a client's source domain to a server that looks up bad domains from a list. 
When the server sends a response, the callout can extract just the “allowed” or 
“denied” portion of the response. 
You configure an HTTP callout as a specialized type of policy. After configuring 
an HTTP callout policy, you can invoke it from policies and other functions (for 
example, actions) that use advanced expressions. The expression prefix SYS.
HTTP_CALLOUT
 invokes a callout policy. For example, you can invoke an 
HTTP callout policy from a Rewrite action and insert the value that is returned by 
the callout in an HTTP response header.
Note that you cannot invoke an HTTP callout in a DELETE Rewrite action. 
In This Chapter
Note:
To deploy an HTTP callout, in addition to configuring the policy as 
described in this chapter, you must also create an agent that formats the callout 
request for the receiving application and formats the application's response to the 
NetScaler. For details on the callout agent, see the chapter on HTTP callouts in 
the Citrix NetScaler AppExpert Guide.